¿Las ROM con programas desdexados son más rápidas o más lentas que las indexadas?

8

Estoy un poco confundido por el efecto de la desodexación (o incluso por la terminología).

Basado en las respuestas a " ¿Cuál es la diferencia entre roms odexed y desodexed? ":

Una ROM "desodexada" es aquella en la que los archivos .odex se han fusionado más o menos en el .apk

Esto parece implicar que la ROM "desodexada" es una ROM odexada (por lo tanto, precompilada / optimizada) donde el paquete .apk contiene el material .odex en lugar de estar en un archivo separado.

Sin embargo, la misma respuesta tiene una cita aparentemente opuesta:

Por lo general, las ROM se lanzan en forma desdexada porque pueden ser temáticas y modificadas con bastante facilidad, mientras que el tema / modificación de una ROM odexada es básicamente imposible (en el mejor de los casos, las cosas se estrellarían como locas). Algunas personas también optan por lanzar sus ROM en versiones indexadas para las personas que preferirían las mejoras de rendimiento.

Esta segunda cita parece implicar que la ROM desdexada NO tiene las ganancias de rendimiento de la ROM odexada (basada en la última oración). Supongo que porque elimina completamente la información .odex en aras de la portabilidad / tema; mientras que la primera cita parece decir que la ROM desdexada está tan optimizada como odexada, pero con un paquete diferente.

¿Cuál de estos significados es correcto? ¿Qué me estoy perdiendo?

Ejemplo:

  • Fission Vanilla: "ROM tiene raíz y ha sido desodexado y zip alineado"
DVK
fuente

Respuestas:

8

Las ROM desodexadas no tienen los archivos .odex integrados en los .apk, se eliminan. Lo que eldareathis quiso decir en su respuesta a la otra pregunta es que se elimina la dependencia de .apk en los archivos .odex; parte de la información se integra nuevamente en el archivo .apk, pero no en el archivo .odex real. Esta página tiene algunos detalles técnicos.

Las ROM desodexadas pueden ser un poco más lentas debido a esto; Sin embargo, creo que a medida que el caché Dalvik se construye a partir del uso de la ROM, la brecha de rendimiento se minimiza.

Matthew Read
fuente
¡Gracias! ¿Sería capaz de desarrollar la pieza "la brecha de rendimiento está minimizada"? ¿Eso significa que la brecha se elimina por completo para cualquier .apk después del primer uso (y se imita se aplica a "no todos los .apk tienen un caché construido a la vez), o eso significa que para una .apk dada, la versión indexada todavía ser más rápido que el desdexado incluso después de que se construye la jaula?
DVK
@DVK En general, creo que .odex aún sería más rápido, pero tener en caché los archivos .dex elimina la necesidad de traducir todo .apk en cada inicio. Creo que la sobrecarga es probablemente mucho más significativa que las optimizaciones, en la mayoría de los casos.
Matthew leyó el
2
@DVK: veo que eso no estaba claro en mi respuesta anterior, así que volví y traté de aclarar un poco. Gracias por señalar eso. Con respecto a esta pregunta, todo lo que Matthew ha dicho en su respuesta es absolutamente correcto.
eldarerathis