ART o Dalvik en Android – qué es, cuál es la diferencia, cuál es mejor

Google ha introducido un nuevo entorno de ejecución de aplicaciones como parte de la actualización de Android 4.4 KitKat. Además de la máquina virtual Dalvik, ahora existe la opción de elegir el entorno ART en los dispositivos modernos con procesadores Snapdragon. (Si has llegado a este artículo con la intención de aprender a habilitar ART en Android, desplázate hasta el final, allí se da esta información).

¿Qué es un entorno de ejecución de aplicaciones y qué tiene que ver con las máquinas virtuales? En Android, las aplicaciones que se descargan como archivos APK (que no son código compilado) utilizan la máquina virtual Dalvik (por defecto, en este momento) y las tareas de compilación recaen sobre ella.

La máquina virtual Dalvik utiliza el enfoque Just-In-Time (JIT) para compilar las aplicaciones, lo que implica la compilación directamente en el arranque o en acciones específicas del usuario. Esto puede provocar largos tiempos de espera en el arranque, ralentizaciones y un mayor uso de la memoria RAM.

La principal diferencia entre el entorno ART

ART (Android RunTime) es una nueva máquina virtual, aún experimental, introducida en Android 4.4 y que por ahora sólo puede ser activada en las opciones de desarrollador (más adelante se mostrará cómo hacerlo).

La principal diferencia entre ART y Dalvik es el enfoque AOT (Ahead-Of-Time) de la ejecución de las aplicaciones, que en términos generales significa precompilar las aplicaciones instaladas: así, la instalación inicial de una aplicación tardará más, ocupará más espacio en el almacenamiento del dispositivo Android, pero su lanzamiento posterior será más rápido (ya está compilado), y un menor uso de la CPU y la RAM debido a la necesidad de recompilación puede, en teoría, conducir a un menor consumo de energía.

¿Cómo en la realidad y qué es mejor, ART o Dalvik?

En la web ya hay muchas comparaciones de dispositivos Android funcionando en los dos entornos y los resultados varían. Una de las pruebas más extensas y detalladas de este tipo está publicada en androidpolice.com:

Resumiendo los resultados, ART no tiene ventajas evidentes por el momento (hay que tener en cuenta que se sigue trabajando en ART, este entorno está todavía en fase experimental): en algunas pruebas, trabajar con este entorno muestra mejores resultados (especialmente en términos de rendimiento, pero no en todos los aspectos), mientras que en otras no se aprecian ventajas especiales o Dalvik está por delante. Por ejemplo, en lo que respecta a la duración de la batería, al contrario de lo que se esperaba, Dalvik muestra resultados casi iguales a los de ART.

La conclusión general de la mayoría de las pruebas es que no hay ninguna diferencia evidente al trabajar con ART o Dalvik. Sin embargo, el nuevo entorno y su enfoque parecen prometedores y quizás en Android 4.5 o Android 5 esta diferencia se haga evidente. (Además, Google podría hacer de ART el entorno por defecto).

Un par de cosas más a tener en cuenta si decides habilitar el entorno ART en lugar de Dalvik: es posible que algunas aplicaciones no funcionen correctamente (o no funcionen en absoluto, por ejemplo WhatsApp y. Titanio Backup), y un reinicio completo. Android puede tardar entre 10 y 20 minutos: es decir, si se enciende ART y después de reiniciar el teléfono o la tableta se cuelga, espera.

Cómo activar ART en Android

Para habilitar el entorno ART, debes tener un teléfono o tableta Android con la versión 4.4.x del SO y un procesador Snapdragon, como un Nexus 5 o un Nexus 7 de 2013.

En primer lugar, es necesario activar el modo de desarrollador en Android. Para ello, dirígete a los ajustes de tu dispositivo, ve a “About Phone” (Acerca de la tableta) y toca varias veces el campo “Build Number” (Número de compilación) hasta que aparezca un mensaje diciendo que te has convertido en desarrollador.

Después de eso, verás “Para desarrolladores” en la configuración, y allí, “Elegir entorno”, donde debes instalar ART en lugar de Dalvik, si tienes ese deseo.