Para responder tu pregunta:
No conozco ninguna versión de Android en la que Dalvik no se haya invalidado en el arranque. Tal vez la versión inicial 1.0 tenía eso, realmente no lo sé, ha pasado por Eclair, Froyo, Gingerbread, Ice Cream Sandwich. Debes buscar en el árbol de origen y volverlo a crear en CupCake o Donut (1.5 y 1.6 respectivamente)
La razón detallada :)
La razón por la que debe usarse Wipe Cache es porque todas las aplicaciones, incluidas las aplicaciones del sistema, tienen un archivo dex adjunto, cuando la ROM se inicia por primera vez, el Dalvik de Android revisa todas y cada una de esas aplicaciones, y extrae el archivo dex de él y colóquelo en la memoria caché /data/dalvik-cache
, acelerando así la ejecución de la aplicación en sí.
La mayoría de las ROM tienen apks que están odex 'ed, el caché está incluido en el apk como un archivo externo.
Una gran cantidad de modders ROM personalizados tendrían esos apks deodex 'd, lo que significa que el archivo dex se reemplaza y se vuelve a empaquetar para facilitar el tema / modificar un apk.
Cuando actualiza una ROM personalizada y no borra la memoria caché, las apk de la ROM personalizada más nueva tendrán un archivo dex diferente adjunto, y cuando Dalvik las revise, verá el archivo dex existente en caché que se encuentra en el directorio, y lo omite, luego, cuando ejecuta la aplicación, se le garantiza un cierre forzado o ANR (la aplicación no responde).
No está perdiendo datos per se, si usa ClockWorkMod Recovery y se selecciona Borrar datos , entonces sí, todas las configuraciones relacionadas con las aplicaciones se borran limpiamente /data/app
.
Por lo tanto, puede borrar la memoria caché pero no borrar datos , lo que se hace de manera efectiva se ubica en las nuevas aplicaciones en su lugar, en las que se conserva la configuración. Este era un escenario bastante común con CyanogenMod nightlies donde se destella una construcción ROM inestable / de prueba, y la configuración se retiene con borrado de caché. El kilometraje variará según las aplicaciones descargadas del mercado (es probable que la configuración haya cambiado según la versión).
Para obtener los mejores resultados, sería aconsejable realizar tanto la eliminación de datos como la eliminación de memoria caché para garantizar la integridad y sin errores de programa dentro de la propia aplicación.
Sí, eso significaría que el tiempo de arranque sería más lento, pero es el momento inicial. Después de eso, se iniciaría más rápido. En pocas palabras, limpiar explícitamente el caché en sí a través de CWM realmente ayuda a acelerarlo y a garantizar que no haya residuos de la versión anterior en el lugar que puedan enredarse (ahora en esta etapa, me estoy dando cuenta de su pregunta, así que para ser justos, en realidad no visto que Android no realiza la invalidación de la memoria caché en el arranque al actualizar una nueva ROM ...)
¡Usa la fuente Luke en serio! :RE
frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
es el código de arranque para cada tiempo de ejecución apk. Interactúa con el código C nativo que se encuentra en el dalvik
árbol de directorios que contiene instrucciones específicas del conjunto de chips para interpretar el código de bytes dentro del conjunto de instrucciones de la CPU nativa al apk. ARMv6 es más o menos una versión pirateada de ARMv5 (que era el conjunto de chips original en las versiones anteriores de Android anteriores a Eclair), por lo que no verá ARMv6 en la fuente AOSP de google. CyanogenMod tendrá ese ARMv6 en su fuente.