Android Weekly Topics

2016年3月第4週Android Nランタイム「ART」コンパイル方式変更

前回取り上げたAndroid Nは、アプリを実行するランタイム「ART」のコンパイル方式が変更されているので続報としてご紹介します。

ARTはAOTから再びJITへ

Android 5.0からは、アプリを実行するランタイムが「Dalvik」から「ART」に変更されました。ARTでは、実行時に都度コンパイルする方式(just-in-time:JIT)から、アプリインストール時にコンパイルする方式(ahead-of-time:AOT)に変更することで、アプリの実行速度を上げながら、CPUの使用率を下げることでバッテリ負荷の軽減を狙っていました。しかし、AOT方式をいざ導入してみると、サイズの大きなアプリのインストールや、一度に複数のアプリをアップデートするような場合にコンパイルに時間がかかり、場合によっては20分程度かかるケースが存在していたようです。

このインストール時間を問題と捉えて、Android NのARTでは、JIT方式をもう一度使うことになりました。これまでのAOT方式を止めてしまったというワケではなく、実行のタイミングが変わり、端末がアイドル中かつ充電されている場合のみに変更されることになりました。たとえば、夜間など充電中で動いていない間を使って、負荷の高いコンパイル処理を実行するワケです。

JIT方式とAOT方式が、どのように使い分けられているのか詳しいところまではわかりませんが、コンパイルの終了していないアプリはJIT方式で実行して、アイドル中などにアプリのコンパイルを終えていれば、これを実行するという仕組みなのかもしれません。

コンパイルを終えるまでは、アプリの実行速度やバッテリに対する負荷はAndroid 4.4のころと同じ状況になると考えられますが、コンパイルが終わってしまえば、Android 5.0と同じ性能が得られることになります。JIT方式とAOT方式の速度差が気になりますが、数倍の違いがない限り、ユーザはその差に気付かないと思うので、インストールやアップデート時の処理時間が短縮されるのは良い改善と言えます。また、通常のスマホの使い方であれば夜間は充電しており、この間にアプリがコンパイルされれば、そう遠くない未来にコンパイルされることになり、バッテリへの負荷も大きくないと考えられます。

Android 6.0のマーケットシェアは2.3%に留まる

Googleが公開した統計情報によれば、Android 6.0 Marshmallowのマーケットシェアは、2016年3月時点で2.3%に留まっています。

これは、2013年10月にリリースされたAndroid 4.0.xと同じ数字です。日本国内では、ドコモとauがAndroid 6.0へアップデート可能な端末を公開してアップデート作業を進めているので、これからAndroid 6.0を搭載した端末が増えていくことになります。

ただ、ご紹介しているように、もうAndroid N(7.0)の話が出てきているので一週遅れの状況です。Android Nで魅力的な機能が搭載されても、搭載端末が市場にない状況では、アプリの対応も遅くなり、ユーザも恩恵を受けられません。

その結果、絵空事となりそうです。今回、Google I/Oを待たずしてAndroid Nのプレビュー版を公開したのは、いまの循環を断ち切る思いがあるのかもしれません。もしかすると今年のGoogle I/Oは、Google独自設計のスマホの登場がダメ押しになるのかもしれません。

YouTubeチャンネル「Google Developers Japan」を開設

Google Japanが日本国内の開発者を対象に、デベロッパー向けの情報を動画で配信するYouTubeチャンネル「Google Developers Japan」を開設しています。

一部の動画は、Google JapanのYouTubeチャネルで配信されていたものもありますが、今回開設された「Google Developers Japan」に集約されることになりました。配信されているコンテンツは、Googleが提供している技術解説動画、イベント講演動画が中心ですが、日本語または日本語字幕の付いた動画になっており日本向けの内容です。

今週は、このあたりで、また来週。

おすすめ記事

記事・ニュース一覧