De acuerdo con una de las excelentes respuestas a esta pregunta , Android tiene que descomprimir los archivos APK y OBB de cada aplicación antes de poder ejecutar la aplicación.
¿Se realiza esta descompresión cada vez que se ejecuta una aplicación, suponiendo que se haya eliminado del caché de procesos de Android?
Si y no. Las aplicaciones de Android no se descomprimen en el sistema de archivos cuando es necesario ejecutarlas. En su lugar, la máquina virtual Dalvik los descomprime selectivamente y los lee en la memoria/ram . Esta descompresión es un proceso muy simple, rápido y que no requiere un uso intensivo del procesador, por lo que no agrega ninguna sobrecarga real al sistema. En la primera instalación, Dalvik VM realiza cierta optimización, principalmente vinculando bibliotecas nativas en el sistema Android a las bibliotecas APK internas, y esto se guarda en la memoria caché de Dalvik como un archivo dex optimizado (.odex)
[Nota al margen, esta es la razón por la cual el primer arranque de un teléfono lleva más tiempo, ya que el sistema tiene que crear archivos odex para cualquier aplicación que no tenga un archivo odex. Las aplicaciones del sistema generalmente están hechas para tener un odex por parte del fabricante]
Un APK tiene una estructura predefinida, que incluye listas de archivos, recursos, activos, bibliotecas, dex (archivos de clase Java convertidos en formato ejecutable Dalvik), etc. El sistema descomprime y lee estos archivos en la memoria, y sigue el código interno. Ese código le dice cuándo descomprimir y cargar los otros archivos.
Nunca llega al disco duro, va directo a la memoria.
SudoSURRoot
adb logcat -v long
y cuando su teléfono se inicie, después de que la imagen de inicio desaparezca y aparezca la pantalla de inicio, o justo antes de eso ... verá un montón de información muy rápida que todos tienen tipos de archivos de sonido como este o cualquier tipo devorbis/obb
datos siendo descomprimido. Probablemente dure alrededor de un minuto, tal vez menos.