Android Runtime
# Android Runtime

Android Runtime (ART) es un entorno de ejecución de aplicaciones utilizado por el sistema operativo móvil Android. ART reemplaza a Dalvik, que es la máquina virtual utilizada originalmente por Android, y lleva a cabo la transformación de la aplicación en instrucciones de máquina, que luego son ejecutadas por el entorno de ejecución nativo del dispositivo.

## Características

A diferencia de Dalvik, que desde Android 2.2 "Froyo" utiliza "just-in-time" (JIT) para compilar el código cada vez que se inicia una aplicación, ART introduce el uso de "ahead-of-time" (AOT), que crea un archivo de compilación posterior a la instalación de la aplicación. Este archivo es utilizado al abrir la aplicación, con esto se evita que la aplicación se compile continuamente, cada vez que ésta es ejecutada. Al reducir la cantidad global de compilaciones realizadas por cada aplicación, el uso del procesador del dispositivo móvil se reduce y aumenta la duración de la batería. Al mismo tiempo, ART trae mejoras en el rendimiento, tales como la recolección de basura, aplicaciones de depuración y perfilado.

Para mantener la compatibilidad con versiones anteriores, ART utiliza el mismo código de bytes de entrada que Dalvik, el cual es suministrado a través de archivos .dex estándar como parte de los archivos APK, mientras que los archivos .odex son reemplazados por archivos de Formato Ejecutable y Enlazable (ELF). Una vez que una aplicación se compila utilizando ART en el dispositivo, ésta es dirigida exclusivamente a partir del ejecutable ELF compilado; Este enfoque elimina diversos gastos involucrados con la compilación JIT, pero requiere de tiempo adicional para la compilación cuando se instala la aplicación. También las aplicaciones ocupan cantidades ligeramente mayores de espacio de almacenamiento para almacenar el código de bytes compilado. ART debutó como un entorno de ejecución alternativa en Android 4.4 " KitKat " . y reemplaza completamente a Dalvik a partir de Lollipop.

