Intentaré ser lo más breve posible
- Todo el código de Java en su proyecto de Android es compilado en archivos .class por el compilador de Java.
- La herramienta dex (dx) convierte todos sus. archivos de clase en archivos .dex (código de byte Dalvik) para que puedan empaquetarse en archivos .apk.
- Antes de que llegara Android 5.0 (Lollipop), el sistema Android usaba una herramienta llamada dexopt que se usaba para optimizar los archivos .dex y producir un archivo .odex que era similar a los archivos .dex originales, excepto que usaba algunos códigos de operación optimizados.
- Dalvik ejecuta los archivos .odex y .dex. Dalvik también utiliza la compilación JIT (justo a tiempo) que se introdujo en Android 2.2 “Froyo” para compilar las partes de código ejecutadas con frecuencia en el código de máquina nativo que mejoró el rendimiento.
- Desde Android 5.0 “Lollipop”, el sistema Android utiliza una herramienta llamada dex2oat que convierte los archivos .dex en archivos ELF que se pueden ejecutar de forma nativa . Entonces, en lugar de tener un código de bytes interpretado por una máquina virtual, ahora tiene un código nativo que el procesador puede ejecutar de forma nativa. Esto se llama compilación AOT (por adelantado) .
Estos diagramas le ayudarán a comprender mejor los conceptos.
- ¿Por qué es Kotlin mejor que Java para el desarrollo de Android?
- ¿Cuáles son algunos juegos de Android de 1GB + (más) (sin conexión)?
- ¿Qué es una alternativa a Lucky Patcher para el sistema operativo Android?
- ¿Hay alguna manera de ver la última vez que se ve a una persona en WhatsApp incluso si está oculta en un teléfono Android?
- ¿Debo aprender el desarrollo de Android o esperar al fucsia?
Para obtener información detallada, siga estos enlaces
Proyecto de código abierto de Android
Descripción general del sistema de construcción
Dalvik (software)
Puedes comentar si quieres preguntar algo más. Espero que haya ayudado 🙂