回答:
Dalvikキャッシュは、保存された.dexファイルのセットです。.dexファイルは基本的に、Androidアプリが実行されるDalvik仮想マシン用にビルドされたアプリのコンパイル済みバイトコードバージョンです。Java仮想マシンに似ており、.classファイルを保存しています。
上の発見は非常に洞察力に富んだ情報dalvik-cache
でstackoverflowの評判のソース(のDalvik仮想マシンのプラットフォーム上で働いていたGoogleの従業員)から。
以下にその概要を示します。Androidユーザーの観点から(できれば)簡単な言葉で。
dalvik-cacheは私のAndroidデバイスのどこにありますか?
典型的なAndroidデバイスには、という名前のディレクトリがありdalvik-cache
ます。AndroidはLinuxベースであるため、Linuxカーネルのファイルシステム構造を使用します。したがって、このディレクトリは/data
フォルダにあります。したがって、AndroidデバイスでこのDalvikキャッシュにアクセスするパスは/data/dalvik-cache
Dalvikキャッシュの目的は何ですか?
ユーザーがAndroidに新しいアプリケーションをインストールすると、Androidはそのアプリケーションのdex
ファイル(アプリケーションのすべてのdalvikバイトコードを含むファイル)に対していくつかの修正と最適化を実行します。次に、結果のodex
(最適化されたdex)ファイルを/data/dalvik-cache
ディレクトリにキャッシュします。これにより、アプリケーションをロードするたびに最適化プロセスを実行する必要がなくなります。
Dalvik Cacheをクリアするとどうなりますか?
アプリが再構築されると、アプリの次回の読み込み時間が長くなる以外、効果はありません。そのため、アプリケーションは、Dalvik Cacheを再構築する必要があるため、ロードに時間がかかります。したがって、dalvik-cache
システムはカスタムROMをインストールするときにクリアしても問題ありません。システムはいずれにしても新しいパーティションで再構築するからです。
Android 4.4(KitKat)から始まって、Google はARTと呼ばれる新しいAndroidランタイムを導入しました。これは、最終的にDalvik仮想マシンを置き換えるものです。ソース
同じバイトコードと.dex
ファイルを使用するARTは、dexファイルをネイティブコードにコンパイルします。コンパイルされたコードは、現在保存されているものですdalvik-cache