¿Cómo se activa la aplicación en Android?

Para responder a esta pregunta difícil, comencemos con algunos conocimientos básicos,

El siguiente diagrama describe la arquitectura general del sistema del sistema operativo Android : las capas clave y los componentes que componen la pila de Android.

Comenzando en la parte inferior está el kernel de Linux . Android usa Linux para sus controladores de dispositivo, administración de memoria, administración de procesos y redes .

El siguiente nivel contiene las bibliotecas nativas de Android . Todos están escritos en C / C ++ internamente ( en esta capa puede encontrar Surface Manager (para componer ventanas), gráficos 2D y 3D, códecs de medios (MPEG-4, H.264, MP3, etc.), la base de datos SQL (SQLite) y un motor de navegador web nativo (WebKit) ) , pero los llamará a través de interfaces Java .

Android no usa la máquina virtual Java (JVM) para ejecutar archivos de clase, en su lugar usa la máquina virtual Dalvik también llamada Android Runtime , que no es una verdadera JVM y no opera en código de bytes Java. Para ejecutarse en máquinas virtuales Dalvik, los archivos de clase se compilan en Dalvik Executable o Formato DEX . Después de la conversión al formato DEX, los archivos de clase junto con otros recursos se incluyen en el paquete de Android (APK) para su distribución e instalación en varios dispositivos.

La respuesta real a la pregunta se encuentra aquí :

A cada aplicación de Android se le asigna una identificación única por el sistema operativo Android. Después de iniciar la aplicación de Android, se ejecutan en su propio proceso, dentro de su propia máquina virtual ( máquina virtual Dalvik ).

El sistema operativo Android gestiona el inicio y cierre del proceso de solicitud, siempre que sea necesario. Esto significa que cada aplicación de Android se ejecuta de forma aislada con otras , pero ciertamente pueden solicitar acceso al hardware y otros recursos del sistema. Entonces, cuando se instala o se inicia una aplicación de Android, solicita el permiso necesario para conectarse a Internet, acceder a la guía telefónica y otros recursos del sistema . El usuario proporciona explícitamente otorgar estos permisos, o puede denegar.

Todos estos permisos están definidos en el archivo de manifiesto de la aplicación de Android. A diferencia del archivo Java Manifest, el manifiesto de Android es un archivo XML, que enumera todos los componentes de las aplicaciones y la configuración de esos componentes . Cuatro componentes principales del desarrollo de aplicaciones de Android son Actividades , Servicios , Contenido Proveedores y receptores de difusión .

La actividad es más común de ellos, ya que representa una sola pantalla en la aplicación de Android. Similar a Java, lo bueno de Android es que gestiona ciertas tareas en nombre del desarrollador, una de ellas es crear objetos de actividad. Las actividades son administradas por el sistema, cuando desea iniciar una actividad, llama al método startActivity () que toma un objeto Intent. En respuesta a esta llamada, el sistema puede crear un nuevo objeto de actividad o reutilizar uno existente. Android gestiona el inicio, detención, creación y destrucción de aplicaciones por sí mismos. Puede pensar que es restrictivo, pero no lo es. Android proporciona eventos de ciclo de vida , que puede anular para interactuar con este proceso.

Fuentes:

  • Introducción de cómo funciona Android para programadores Java
  • Cómo funciona Android: el panorama general | ZDNet