Sólo quiero saber los pasos completos.
¿Android sólo copia el paquete de la aplicación a otra ubicación?
cuándo ejecutar la aplicación, el paquete de aplicaciones de Android se descomprime cada vez?
Respuesta
¿Demasiados anuncios?No, no se abre el paquete cada vez. El dalvik-cache es donde se almacena el cache de los archivos dex (los ejecutables dalvik).
Sé que las aplicaciones de sistema se almacenan en caché cuando el dispositivo se inicia por primera vez, si la caché no existe. Las aplicaciones de usuario, si tuviera que adivinar, estarían hechas cuando se instalan o se lanzan por primera vez.
Después de que se almacene en la caché, no tendrá que actualizar esa caché hasta que la aplicación se actualice, por lo que creo que ocurre en el proceso de instalación. Pero también es posible leer el Manifiesto desde el APK y ver qué versión es cuando se lanza. Si la versión es diferente de la versión en la caché, podría volver a guardarse en la caché.
editar
Quiero construir sobre esto un poco. Acabo de limpiar mi caché de dalvik y reinicié mi dispositivo. Viendo el dispositivo logcat a través de DDMS mientras arrancaba muestra que hace aplicaciones de sistema y aplicaciones de "usuarios" al arrancar.
El PackageManager "recoge" las certezas del apk. Luego desempaca el apk. El PackageParser almacena cualquier permiso que el APK tenga.
Así que estos pasos se hacen cuando el dispositivo arranca (si los apks cambiaron desde el último arranque, o se limpió el dalvik-cache). Pero este mismo proceso se completaría cuando se instalara el APK, ya que el PackageManager y el PackageParser son los que manejan el proceso.
edit2
Esto no es sólo el proceso de "ejecución", esto es lo que sucede cuando se instala la aplicación. El dalvik-cache actúa como una especie de "registro" de la aplicación. Pero durante la instalación, la aplicación también registra en el sistema cualquier "receptor" que tenga. Estos son como los oyentes de acciones específicas que ocurren, qué tipo de enlaces maneja, cosas así. No hay un registro como el de Windows, pero sí, el sistema operativo hace un seguimiento de las aplicaciones que se instalan, y las acciones que pueden lanzar la aplicación.