¿Cuál es la diferencia entre Dalvik VM y Android RunTime en la opción de desarrollador del dispositivo Android?

A diferencia de Dalvik, que desde Android 2.2 “Froyo” utiliza la compilación justo a tiempo (JIT) para compilar el código de bytes cada vez que se inicia una aplicación, ART introduce el uso de la compilación anticipada (AOT) al realizarla en la instalación de una aplicación Al reducir la cantidad total de compilación que debe realizarse durante el funcionamiento de una aplicación, se reduce el uso del procesador de un dispositivo móvil y se mejora el tiempo de ejecución de la batería. Al mismo tiempo, ART ofrece mejoras en el rendimiento, recolección de basura, depuración de aplicaciones y creación de perfiles. Para mantener la compatibilidad con versiones anteriores, ART utiliza el mismo código de bytes de entrada que Dalvik, suministrado a través de archivos .dex estándar como parte de los archivos APK, mientras que los archivos .odex se reemplazan con ejecutables de formato ejecutable y enlazable (ELF). Una vez que se compila una aplicación utilizando la utilidad dex2oat en el dispositivo de ART, se ejecuta únicamente desde el ejecutable ELF compilado; Este enfoque elimina varios gastos generales relacionados con la compilación JIT, pero requiere tiempo adicional para la compilación cuando se instala una aplicación, y las aplicaciones ocupan cantidades de espacio de almacenamiento ligeramente mayores para almacenar el código de bytes compilado.

Dalvik era el tiempo de ejecución predeterminado de Android hasta Android 4.4 Kitkat.
Desde Android L, el tiempo de ejecución predeterminado es ART.

Básicamente la diferencia está en cómo funcionan. En Dalvik, cuando instala una aplicación, se almacena en el dispositivo. Ahora, cada vez que la abra, compilará la aplicación o la parte del código de la aplicación necesaria para ejecutarla. Es por eso que Dalvik se llama compilador justo a tiempo, porque compilas justo a tiempo y quieres ejecutarlo. Entonces, antes de ejecutar realmente la aplicación, debe hacer un trabajo adicional (compilación). Además, esta sobrecarga es por cada vez que abre la aplicación. Muchos críticos criticaron que Android funciona más lento que Apple o Windows Phone. Google se dio cuenta de este problema y se introdujo el nuevo ART de tiempo de ejecución.

ARTE significa anticipado. Cuando instala una aplicación, la aplicación se convertirá en un código específico de la máquina para que la aplicación se compile solo una vez. Obviamente, el tiempo de instalación de la aplicación es mayor, pero la instalas solo una vez y la abres muchas veces. Entonces, con anticipación, una vez que se realiza la compilación al instalar la aplicación, ahora el tiempo de ejecución solo tiene que ejecutar la aplicación directamente. Por lo tanto, se dice que es dos veces más rápido que Dalvik.

También ART trae algunas optimizaciones de batería mejor que Dalvik. Por lo tanto, las aplicaciones consumirán menos batería mientras funcionan de manera más eficiente y más rápida.

Entonces, ¿por qué no se introdujo en primer lugar?
Esto se debe a que el código específico de la máquina es grande en términos de tamaño. Por lo tanto, el tamaño de su aplicación es bastante grande (como puede ver en los dispositivos Apple).
Los teléfonos hasta ahora tenían menos memoria, por lo que prácticamente puede funcionar con Dalvik. Ahora un día de memoria no es gran cosa. Es por eso que Dalvik se presenta en el momento perfecto.

ART se introdujo por primera vez en Android 4.4 Kitkat en las opciones de desarrollador, por lo que los desarrolladores pueden ajustar su aplicación para que funcione bien en el nuevo tiempo de ejecución.

Android RunTime (ART) es un motor, por lo que se ejecutan todas las aplicaciones. No ha cambiado desde la creación de la primera versión del sistema operativo Android.
Para facilitar el desarrollo de la aplicación se creó un nuevo marco en el lenguaje de programación Java para la versión Lollipop de Android. Los desarrolladores conocen y usan el lenguaje Java durante mucho tiempo. Sin embargo, hay una limitación, porque las aplicaciones Java no se ejecutan por sistema. Esto es responsabilidad de ART, y aquí tenemos una serie de ventajas y desventajas:

  • La aplicación se ejecuta más lentamente.
  • Es más fácil desarrollar una aplicación de este tipo.
  • La aplicación puede funcionar en otros sistemas como BlackBerry 10, Sailfish OS e incluso Windows

Leer más Revisión de actualización de Android Lollipop

ART es más rápido que Dalvik. Aunque en Kitkat todavía estaba en beta. La mayoría de las aplicaciones son compatibles con ART, pero pocas (como Timberman) no.
Para saber más sobre ART y Dalvik, puede leer mi respuesta sobre otra pregunta:
La respuesta de Abhishek Jain a Por lo que he leído en línea, parece que Google planea cambiar a ART en una versión futura. ¿Por qué es ART mejor que Dalvik?

Android ART vs Dalvik: rendimiento y duración de la batería comparados
Conoce ART, Parte 1: El nuevo tiempo de ejecución de Android súper rápido en el que Google ha estado trabajando en secreto durante más de 2 años, se estrena en KitKat

espero que esto ayude.

Para tener una idea detallada sobre la diferencia, le sugiero que consulte el video de Google IO 14 sobre ART. Explica las diferencias y mejoras arquitectónicas de una manera comprensible y detallada.