Щоб відповісти на ваші запитання:
Я не знаю жодної версії Android, де Dalvik не був визнаний недійсним під час завантаження. Можливо, в початковій версії 1.0 було те, що я справді не знаю, пройшли Eclair, Froyo, Gingerbread, Sandwich Ice Cream. Вам потрібно заглянути в початкове дерево і відновити його назад до CupCake або Donut (1,5 і 1,6 відповідно)
Детальна причина :)
Причина, яку повинен використовувати кеш Wipe, полягає в тому, що всі apks, включаючи системні apks, мають до нього доданий файл dex , коли ROM вперше завантажується, Далвік Android проходить кожну з цих програм і витягує файл dex з нього і помістити його в кеш, /data/dalvik-cache
тим самим прискоривши виконання самого додатка.
Більшість ПЗУ мають apks, які є odex 'ed, кеш вбудовується у сам apk як зовнішній файл.
Багато модних мод- дисків мали б ті apks deodex 'd, тобто файл dex замінюється та перепаковується, щоб полегшити тематизацію / зміну apk.
Коли ви прошиваєте користувальницький ROM та не стираєте кеш, нові нові користувацькі apk- файли будуть додані до нього інший файл dex , і коли Dalvik проходить через них, він бачить наявний кешований файл dex, знайдений у каталозі, і пропускає його, тоді, коли ви запускаєте додаток, ви гарантовано будете закрити або ANR (додаток не відповідає).
Ви самі не втрачаєте дані, якщо використовується ClockWorkMod Recovery і вибрано Wipe Data , то так, всі налаштування, що стосуються програм, видаляються чисто - загляньте /data/app
.
Таким чином, ви можете протерти кеш, але не витерти дані , що зроблено ефективно, розміщено в новіших програмах на місцях, у яких збережені налаштування. Це був досить розповсюджений сценарій з CyanogenMod nightlies, коли нестабільна / тестувальна збірка ПЗУ спалахує, а налаштування зберігаються за допомогою кешу. Пробіг буде змінюватися залежно від того, які програми завантажуються з ринку (налаштування змінилися б за версією bump цілком ймовірно).
Для найкращих результатів було б розумно виконати дані Wipe Data і Wipe Cache, щоб забезпечити цілісність та відсутність програмних помилок у самій програмі.
Так, це означатиме, що час завантаження буде повільнішим, але його початковий вихідний момент. Після цього завантаження було б швидше. Дійсно кажучи, явно витираючи кеш-пам'ять через CWM насправді допомагає прискорити його та забезпечити відсутність залишків від попередньої версії на місці, який міг би потрапити в систему (Зараз на цьому етапі я усвідомлюю ваше запитання так, чесно кажучи, насправді насправді не було бачив, що Android під час завантаження нового ПЗУ не виконує вимкнення кеш-пам'яті.
Використовуйте джерело Лука серйозно! : D
frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
- це завантажувальний код для кожної версії APK. Він взаємодіє з нативним кодом C, знайденим у dalvik
дереві каталогів, який містить конкретні інструкції набору мікросхем для інтерпретації байт-коду в наборі інструкцій apk to native CPU. ARMv6 - це майже зламана версія ARMv5 (яка була оригінальним чіпсетом у старих версіях Android до Eclair), тому ARMv6 у Google AOSP-джерелі від Google не побачиш. CyanogenMod матиме цей ARMv6 у своєму джерелі.