攻撃は最大の防御なり

50代おやじの適当なブログです。

[Android] dalvik-cacheって何?

2011-10-18 09:55:07 | Android
今日はdalvik-cacheとは何か?と言うお話です。

よくROMを入れ換えたらdalvik-cacheをwipeしてうんたらと話が出ますが
dalvik-cacheにはjavaの実行部分が入っています。
ちょっと言語よりの話になりますが、javaのプログラムをコンパイルするとclassファイルが出来ます。
これにあたる物がapk内にclass.dexとして入っています。
class.dexの中身はどのAndroidでも動くように汎用的な内容になっていますので
端末依存処理を埋め込んだものがアプリインスト時にdalvik-cacheに生成されます。

system配下のファイルを弄った後の再起動は異様に時間がかかる場合がありませんか?
これはシステムに変更がかかったと関知したOSがdalvik-cacheの一括再作成を行うためです。
要するにアプリを大量にインストしていればそれだけ時間がかかるわけですね。

ROMを入れ換えてdalvik-cacheをwipeしなかったとして
ゴミが残ることはあっても動作上問題になることはありません。
ユーザーデータ起因の再起動地獄は/data/dataにあるデータとシステムアプリ間で整合性が取れていない事が原因です。

最新の画像もっと見る

3 コメント

コメント日が  古い順  |   新しい順
Unknown (Unknown)
2012-02-16 00:09:09
きも
返信する
Unknown (Unknown)
2013-05-05 19:14:48
もき
返信する
Unknown (愚々)
2013-10-18 15:31:17
参考になったわ
返信する

コメントを投稿