ART o Dalvik

Con la llegada del nuevo LG Nexus 5, Google ha introducido en su nueva versión de Android KitKat 4.4 su nueva máquina virtual, ART. Recuerdo que tanto ART como Dalvik son maquinas virtuales que sirven para ejecutar cualquier código y hacerlo compatible con cualquier móvil Android del mercado.  Google desea con esto terminar con la antigua Dalvik, más pesada y lenta que esta nueva versión. Con Dalvik, cualquier aplicación o código fuente funciona perfectamente, ya que Dalvik sirve para adaptar una app al hardware del móvil. La funcion de ART será la misma, pero de momento con ART, no todo funciona como debería, aunque en las pruebas de rendimiento supera con creces a Dalvik, mejorando el rendimiento y velocidad del móvil. Una diferencia notable es la gestión de archivos que usan, ART usa OAT en lugar de DEX, y en los los primeros test, ART ha mostrado que las aplicaciones mejoran alrededor de un 100% en rapidez de ejecución.  Este porcentaje que podría aún mejorar con la versión definitiva de esta máquina virtual.

Art o Dalvik

Art o Dalvik

Este mejor rendimiento también es traducido a un consumo menor de la batería. La interpretación o ejecución del código de una App es mucho mayor con JRT (JavaRunTime) o Dalvik, que también usa tecnología Java.

Dalvik o ART en Android KitKat 4.4

Dalvik o ART en Android KitKat 4.4

Por lo que sé, ya hace un par de años que Google busca una solución para reemplazar Dalvik por ART, pero todo esto había sido retrasado por problemas legales con Oracle y la violación de patentes encontradas con Dalvik. En mi móvil he encontrado una sola app que no funciona con ART, mi WhatsApp. Personalmente esta app es demasiado importante en mi uso diario, por lo tanto a veces activo ART y otras Dalvik. Existe una web (androidruntime.com) que nos permite comprobar la compatibilidad de aplicaciones con ART introduciendo el nombre de tu App, y esta web te dirá si funciona o no.

Desde mi Nexus 5, puedo acceder a ART desde los Parámetros -> Opciones de desarrollador -> Seleccionar Runtime-> Usar ART