今日は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にあるデータとシステムアプリ間で整合性が取れていない事が原因です。
よく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にあるデータとシステムアプリ間で整合性が取れていない事が原因です。