【比較動画あり】Android OS 4.4 (KitKat) の新ランタイム「ART」は現状どうなの?

KitKat で切り替えることが可能になりました。

20131111-072451

Javaで書かれたコードがLinuxKernelと接する実行部分が「ランタイム」。

Android_will_never_be_the_same_again-_to_use_ART_-_Techglimpse

そんな「ART」てどんな特徴があるのか。

'ART' experiment in Android KitKat improves battery life and speeds up apps

Dalvik’s future replacement debuts in Android 4.4 KitKat

まとめると以下。

・仮想マシン「Dalvik」の代替。
・高速
・2年前より開発
・バッテリーの寿命向上
・AOT(Ahead-Of-Time)コンパイラ
・Dalvik は、JIT(Just-In-Time)コンパイラ

で、それぞれ、「実行時」と「事前」の違い。

実行時コンパイラ(Just-In-Time Compiler、JITコンパイラ、その都度のコンパイラ)とは、ソフトウェアの実行時にコードのコンパイルを行い実行速度の向上を図るコンパイラのこと。実行中に中間言語コードをネイティブの機械語コードにコンパイルするもの。

事前コンパイラ (Ahead-Of-Timeコンパイラ、AOTコンパイラ)とは、アプリケーション実行前に事前にコンパイルするコンパイラのこと。実行時のコンパイルの必要を無くし、ソースコードから中間言語コードを生成した後に、ネイティブの機械語コードも生成してしまう方式。

KitKat上では、有効化した「開発者向けオプション」から「ランタイムを選択」で切り替えできる。

「ART」選択すると、再起動を促される。

20131111-073922

再起動直後に、インストールしているすべてのアプリが「事前」に最適化される。

続きを読む >>