Untuk menjawab pertanyaan Anda:
Saya tidak mengetahui versi Android mana Dalvik tidak valid saat boot. Mungkin versi awal 1.0 punya itu, saya benar-benar tidak tahu, telah melalui Eclair, Froyo, Gingerbread, Ice Cream Sandwich. Anda perlu melihat ke pohon sumber dan rebase kembali ke CupCake atau Donut (masing-masing 1,5 dan 1,6)
Alasan terperinci :)
Alasan Wipe Cache harus digunakan adalah karena semua apks, termasuk apks sistem, memiliki file dex yang menyertainya, ketika ROM di-boot untuk pertama kalinya, Dalvik Android melewati masing-masing dan semua apks itu, dan mengekstrak file dex dari itu dan letakkan di cache /data/dalvik-cache
sehingga mempercepat eksekusi aplikasi itu sendiri.
Sebagian besar ROM memiliki apks yang ditambahkan , cache dibundel ke dalam apk itu sendiri sebagai file eksternal.
Banyak pengubahsuai ROM kustom memiliki apks deodex 'd, yang berarti file dex diganti dan dikemas ulang untuk membuatnya lebih mudah untuk tema / memodifikasi apk.
Ketika Anda mem-flash ROM kustom, dan tidak menghapus cache, apk custom ROM yang lebih baru akan memiliki file dex yang berbeda yang melekat padanya, dan ketika Dalvik melewatinya, ia melihat file dex cache yang ada ditemukan di direktori, dan melewatkannya, lalu ketika Anda menjalankan aplikasi, Anda dijamin akan menutup paksa atau PPA (Aplikasi Tidak Menanggapi).
Anda tidak akan kehilangan data semata, jika menggunakan ClockWorkMod Recovery, dan Wipe Data dipilih, maka ya, semua pengaturan yang berkaitan dengan aplikasi dihapus dengan benar - lihat /data/app
.
Jadi Anda dapat menghapus Cache tetapi tidak menghapus data , apa yang dilakukan secara efektif, ditempatkan di apks yang lebih baru di tempat, di mana pengaturannya dipertahankan. Ini adalah skenario yang cukup umum dengan CyanogenMod nightlies di mana ROM ROM yang tidak stabil / sedang di-flash, dan pengaturan dipertahankan dengan penghapusan cache. Jarak tempuh akan bervariasi tergantung pada aplikasi apa yang diunduh dari pasar (pengaturan kemungkinan akan berubah berdasarkan versi bump).
Untuk hasil terbaik, sebaiknya lakukan Wipe Data dan Wipe Cache untuk memastikan integritas dan tidak ada kesalahan program dalam aplikasi itu sendiri.
Ya itu berarti waktu booting akan lebih lambat tapi momen awalnya sekali saja. Setelah itu akan booting lebih cepat. Singkatnya, secara eksplisit menghapus cache itu sendiri melalui CWM sebenarnya membantu mempercepatnya dan memastikan tidak ada residu dari versi sebelumnya di tempat yang bisa dimasukkan ke dalam (Sekarang pada tahap ini, saya menyadari pertanyaan Anda sehingga dalam semua keadilan, belum benar-benar melihat Android tidak melakukan pembatalan cache sendiri saat boot ketika menginstal ROM baru ..)
Gunakan sumber Lukas dengan serius! : D
frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
adalah kode bootup untuk setiap runtime apk. Ini berinteraksi dengan kode C asli yang ditemukan di dalvik
pohon direktori yang berisi instruksi chipset spesifik untuk menginterpretasikan bytecode dalam apk ke set instruksi CPU asli. ARMv6 cukup banyak versi yang diretas ARMv5 (yang merupakan chipset asli di versi Android yang lebih lama sebelum Eclair), sehingga Anda tidak akan melihat ARMv6 di sumber AOSP dari google. CyanogenMod akan memiliki ARMv6 di sumbernya.