Dalvikキャッシュとは何ですか?


27

カスタムROMをインストールする場合、Dalvikキャッシュをクリアすることをお勧めします。Dalvikキャッシュとは正確には何ですか?

回答:


27

Dalvikキャッシュは、保存された.dexファイルのセットです。.dexファイルは基本的に、Androidアプリが実行されるDalvik仮想マシン用にビルドされたアプリのコンパイル済みバイトコードバージョンです。Java仮想マシンに似ており、.classファイルを保存しています。


したがって、最初にブートするのに長い時間がかかるのは、Dalvikキャッシュを消去して新しくインストールしたROMが正常なことですか?ParanoidAndroidは確かに甘い時間を取っているからです。5分とカウント。
badp

1
@badpうん、多くの場合、最初のブートにはさまざまなROMがありました。しかし、何かが間違っていると仮定する前に、あまりにも長くは与えません。
マシュー

4

上の発見は非常に洞察力に富んだ情報dalvik-cachestackoverflowの評判のソース(の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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.