22 votos

Dalvik VM vs. ART (Android Runtime): ¿Impacto para los usuarios finales?

Con Nexus 5 (Android 4.4 KitKat), Google ha incluido dos entornos de ejecución para ejecutar aplicaciones.

Opción de selección de entorno de ejecución en Android 4.4 KitKat Entornos de ejecución Dalvik y ART en Android 4.4 KitKat

¿Cuáles son las diferencias entre Dalvik y ART para los usuarios finales? ¿Cómo pueden verse afectados los usuarios finales por esto? ¿Hay alguna razón específica por la que debería elegir el nuevo entorno de ejecución ART?

27voto

S S Puntos 8975

Dalvik VM (Máquina Virtual) es la versión de Google de una VM de Java (en la que se ejecutan aplicaciones). Las VM mantienen a las aplicaciones aisladas e independientes del hardware real y de otras aplicaciones. Sin embargo, para que funcione, Dalvik necesita convertir el denominado bytecode (diseñado para la máquina virtual) en código de máquina nativo. Con el fin de minimizar la penalización de rendimiento que la conversión de bytecode a código nativo introduce, se realiza un proceso llamado compilación Just-In-Time (JIT), que convierte el bytecode caliente, es decir, utilizado con frecuencia, a código nativo.1

ART (Tiempo de Ejecución de Android) es un reemplazo de Dalvik que utiliza la compilación Ahead-Of-Time (AOT), lo que significa que tus aplicaciones se compilan a un estado listo para ejecutarse antes de siquiera lanzarlas. Esto se hace generalmente, en el momento de la instalación de la aplicación, lo que hace que el proceso de lanzamiento y uso sea mucho más rápido y suave. Y dado que esto significa que la compilación se realiza solo una vez, es posible que también veas una mejor duración de la batería.

Si ART es mejor desde la perspectiva de rendimiento y duración de la batería, ¿debería comenzar a usarlo?

No. Si haces eso, es posible que rompas aplicaciones de terceros. Google ha lanzado esta vista previa de ART con Android 4.4 para que los desarrolladores prueben sus aplicaciones en él.

Nota al margen: El enfoque de Google con ART es superar a iOS (las aplicaciones de iOS son nativas, por lo que funcionan mejor incluso en especificaciones de hardware de gama baja), pero no sé hacia dónde se dirige... ¿Otra fragmentación? Ver Los OEM son libres de construir dispositivos utilizando uno u otro. Si bien la versión final no debería afectar a la mayoría de aplicaciones, no es algo completamente compatible con todas las plataformas.

1Nótese que JIT se añadió a Dalvik en Android 2.2

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X