ART: La nueva máquina virtual de Android

Con el lanzamiento de Android 4.4 KitKat, Google ha aportado una serie de importantes mejoras en su sistema operativo móvil. Empezando por lo más obvio, como puede ser el rediseño de la interfaz gráfica e iconografía, hasta llegar a cosas no tan obvias, como es el hecho de poder elegir sobre qué máquina virtual queremos que se ejecute Android.

Para los no iniciados, os aclaramos que una máquina virtual es un software que simula un ordenador y puede ejecutar aplicaciones. Los casos más conocidos se dan en algunos usuarios de ordenadores Apple que instalan máquinas virtuales para poder ejecutar sistemas operativos como Windows o Ubuntu (véase también Fedora, OpenSUSE...) con el fin de poder emplear programas no compatibles con Mac.

Del mismo modo, el sistema operativo Android ha empleado una máquina virtual llamada Dalvik, la cual se encarga de ejecutar aplicaciones Java para el sistema operativo principal, que es Android.

 

El problema con esta DVM (Dalvik Virtual Machine) es que sacrifica la portabilidad de Java para poder crear aplicaciones con un mejor rendimiento y menor consumo de energía, características que son de vital importantes en dispositivos móviles, ya que la capacidad de las baterías en estos dispositivos es limitada.

Este sacrificio, con el tiempo, ha ido revirtiendo en una cierta latencia desde que se lanza la orden hasta que la aplicación se ejecuta y en un elevado consumo de batería. Digamos que entre el usuario y el núcleo Linux de Android que gestiona todo, hay una serie de intermediarios que se pasan las órdenes de uno a otro, hasta llegar a Dalvik, que es el que se encarga de "traducir" de Java a Android, por lo que, como decía, el proceso de ida y vuelta de una orden requiere un tiempo que, puede parecer inapreciable, pero cuando se están ejecutando varios procesos simultáneamente, se acaba notando.

Así pues, Google, con la nueva versión de Android, la 4.4 KitKat, incluyó en las opciones de desarrollador una nueva máquina virtual conocida como ART (Android Runtime) que prescinde de la necesidad de una máquina virtual o de tener que interpretar el código de las aplicaciones. Esto es posible gracias a que, mientras que Dalvik interpreta el código al tiempo que inicia la aplicación, ART trabaja en modo AOD (Ahead Of Time), lo que significa que hace una pre-compilación en el momento de instalar la aplicación, por lo que a la hora de ejecutarla, se ahorra ese trabajo de tener que ejecutar e interpretar.

El uso de ART puede hacer que las aplicaciones tarden un poco más en instalarse, pero una vez hecho, se ejecutarán mucho más rápido, casi como si fueran nativas y estuvieran embebidas en el código. Esto se traduce en una mejora importante de la multitarea y en un significativo ahorro de batería, lo cual será muy beneficioso para dispositivos de gama media y gama baja, haciendo que sean capaces de ejecutar aplicaciones que antes no podían.

De momento, como usuarios no es muy recomendable hacer uso de ART a menos que sea con fines de desarrollo, ya que las aplicaciones que tenemos hasta ahora no está optimizadas para esta nueva MV, pero al tiempo, ya que el plan de Google es reemplazar Dalvik por ART.

Compartir en redes sociales
FaceBook  Twitter  

Escribir un comentario

ImasD no se responsabiliza de los comentarios efectuados por personas ajenas a la empresa.


Código de seguridad
Refescar