KitKat で切り替えることが可能になりました。
Javaで書かれたコードがLinuxKernelと接する実行部分が「ランタイム」。
そんな「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」選択すると、再起動を促される。
再起動直後に、インストールしているすべてのアプリが「事前」に最適化される。