アンドロイド2.2前(のDalvikは解釈)
Dalvik仮想マシンとして、ローディングDEX / ODEXファイルを担当すると、システムの動作にマシンコードに解析されます。この時点で、純粋のDalvikは解釈しました。
アンドロイド2.2(のDalvik JIT)
Dalvik JITコンパイルインスタントは、Hospotにより、JITコンパイラを行うには、DEX / ODEXコード、コンパイルされたネイティブコードをコンパイルし、最適化頻繁。
短所:必要あなたが起動するたびに再コンパイルすることが、より多くの電力がバッテリーのオーバーヘッドを引き起こし、実行されています。
アンドロイド4.4(ARTのAOT /のDalvik)
ART(Androidのランタイム)とAOT(前・オブ・タイム)、そしてこの時点でのDalvik ARTの共存をご紹介し、ユーザーは両方を選択することができます。
アンドロイド5.0(ARTのAOT)
ART(Androidのランタイム)に完全に取って代わるのDalvik、AOTのみコンパイルモードです。
JITは、実行時に(動的コンパイルを)コンパイルされ、すべての時間は、プログラムを実行するために再コンパイルするODEXします。AOTは静的に、ローカルアプリケーションと同等であるアプリケーションのインストールプロセス意志dex2oat DEXプリコンパイルされたELFファイルを、コンパイルされます。
短所:
アプリケーションのインストールやシステムの後のアップグレードは、時間のかかるを再コンパイルする必要があります。
最適化されたファイルには、追加のストレージスペースを取ります。
アンドロイド7.0(ARTのAOT / JIT)
混合AOTとJITコンパイル・モードを使用して7.0アンドロイド。
アプリケーションがインストールされている場合1、DEXはコンパイルされません。
JITコンパイラは、プロファイルJITコードキャッシュファイルを生成した後、ホット機能が同定された後に最初の動作は、パーサ解釈によって行わ2は、情報を記録するために、ホットスポット関数に格納されています。
3、携帯電話は、システムディレクトリスキャンアプリの実行AOTコンパイルプロセスにおけるアイドル(IDLE)やチャージ(充電)状態、プロファイル・ファイルに入ったとき。
ARTとのDalvikの違い