¿Qué es ART y en qué se diferencia de la máquina virtual Dalvik en Android?

¿Qué es ART y en qué se diferencia de la máquina virtual Dalvik en Android?

En el mundo de la tecnología, las nuevas terminologías y abreviaturas no son nada nuevo y, a veces, con cada nueva versión de software incluso existente, es posible que se forme un nuevo término que todos parecen usar y comprender. Sin embargo, el problema para los principiantes e incluso para muchos usuarios ocasionales es que ni entienden completamente lo que significa la nueva connotación, ni pueden descubrirla fácilmente a través de fuentes oficiales, principalmente debido al hecho de que los desarrolladores no están No estoy muy interesado en explicar muchas de estas terminologías y sus detalles técnicos. En el mejor de los casos, te indicarán un enlace oficial que proporciona una explicación, pero en términos técnicos que es bastante inútil para un no experto.

Nosotros en AddictiveTips siempre nos hemos enorgullecido de simplificar los conceptos técnicos y proporcionar respuestas en términos que sean agradables para el usuario casual y el principiante tecnológico. Por lo tanto, cuando Google decidió introducir ART con Android 4.4 KitKat, vimos esto como una oportunidad para presentar a nuestros lectores el nuevo entorno de tiempo de ejecución y ayudar a todos a comprender de qué se trata todo esto y en qué se diferencia de la máquina virtual Dalvik que ART se está construyendo para reemplazar.

¿Qué es un entorno de tiempo de ejecución?

Antes de responder a la pregunta real, debemos entender qué es realmente un entorno de tiempo de ejecución. Para ponerlo en términos más simples, el tiempo de ejecución consta de instrucciones de software que se ejecutan cuando su programa se está ejecutando, incluso si no son esencialmente parte del código de ese software en particular. Estas instrucciones básicamente traducen el código del software en el código que la computadora es capaz de ejecutar. Por lo tanto, todos los lenguajes de computadora requieren algún tipo de entorno de tiempo de ejecución que pueda ejecutar correctamente el código escrito en ese idioma.

Android utiliza una máquina virtual como su entorno de tiempo de ejecución para ejecutar los archivos APK que constituyen una aplicación de Android. La ventaja de usar una máquina virtual es doble: en primer lugar, el código de la aplicación está aislado del sistema operativo central, lo que garantiza que si algo sale mal, está contenido en un entorno aislado y no afecta el sistema operativo primario. Y en segundo lugar, permite la compatibilidad cruzada, lo que significa que incluso si una aplicación se compila en otra plataforma (como una PC, como suele ser el caso con el desarrollo de aplicaciones móviles), aún se pueden ejecutar en la plataforma móvil utilizando la máquina virtual .

Para Android, el entorno de tiempo de ejecución basado en máquina virtual en uso hasta ahora se conoce como la máquina virtual Dalvik, que, estoy seguro de que cualquiera que haya profundizado en los detalles del sistema operativo, está más que familiarizado.

¿Por qué usar una máquina virtual?

Ese es realmente el punto que tocamos justo arriba. Las máquinas virtuales son lentas, no se puede negar eso, pero en realidad tienen un par de ventajas que las convierten en una opción preferida.

  • Las máquinas virtuales proporcionan un entorno aislado para la ejecución del código. Por lo tanto, incluso si una aplicación contiene un código malicioso que puede dañar el sistema operativo central, no afectará directamente a los archivos del sistema y, por lo tanto, se evitará que el sistema operativo central se corrompa. El beneficio a gran escala es más estabilidad y confiabilidad para el sistema operativo.
  • Los APK de aplicaciones que se suministran a través de Play Store (o cualquier otra fuente, para el caso) son instrucciones sin compilar que los desarrolladores confían en la máquina virtual para compilar antes de la ejecución y ejecución en el dispositivo. Esto proporciona más compatibilidad; Si el desarrollador proporcionara un código ya compilado y fue compilado para un procesador basado en Snapdragon, por ejemplo, podría no ejecutarse correctamente en un chip Tegra. Por lo tanto, esta compilación en el dispositivo aborda este problema.

Entonces, ¿qué es Dalvik y qué tiene de malo?

Esa es la pregunta que debes hacer, ¿no? Dalvik ha estado allí desde que Android comenzó en 2007, y no ha cambiado mucho desde entonces, aparte del enfoque de compilación Just-In-Time (JIT) introducido en Android 2.2 Froyo, que básicamente compila aplicaciones justo cuando están iniciado, o cuando el usuario proporciona las instrucciones necesarias. Es útil, así como una mejora con respecto al enfoque de intérprete convencional anterior que compiló y ejecutó el código línea por línea a medida que se ejecutaba, pero la desventaja es una gran sobrecarga cuando se inicia la aplicación por primera vez.

Esto se debe a que el sistema necesita reunir todos los archivos necesarios, compilar la aplicación y cargarla en la RAM. Mientras la aplicación compilada permanezca dentro de la RAM, continuará respondiendo rápidamente, pero cuando cargue más aplicaciones y la RAM se agote, la primera se descargará y, por lo tanto, en el lanzamiento posterior, todo el proceso comenzará nuevamente. El enfoque tiene sentido en el papel y, de hecho, ha estado funcionando bien hasta ahora para la plataforma. Sin embargo, los dispositivos más antiguos con RAM limitada son los que más sufren, porque el ciclo de carga / descarga continúa con más frecuencia y, por lo tanto, el sistema se siente lento en términos de capacidad de respuesta general. Ahí es donde entra la nueva máquina virtual, ART.

¿Qué es el ARTE y cómo mejora las cosas?

ART, o Android RunTime (nombre bastante aburrido, sí, lo sabemos) es una nueva máquina virtual experimental que Google ha introducido con Android 4.4 KitKat como una opción de desarrollador (con Dalvik siendo el predeterminado por ahora). La principal diferencia entre ART y Dalvik es el enfoque de compilación que ambos utilizan: ART emplea un nuevo concepto de adelanto de tiempo (AOT) contrario al JIT de Dalvik, que básicamente compila aplicaciones antes de que se inicien. Esto significa que las primeras instalaciones demorarán más y las aplicaciones ocuparán más espacio en el almacenamiento interno, pero al mismo tiempo, dado que la aplicación se compilará por completo tan pronto como se instale, los tiempos de lanzamiento serán mucho más rápidos. Del mismo modo, dado que la parte de compilación se ocupa solo una vez en el momento de la instalación, los impuestos del procesador son más bajos,

Dalvik vs. ART – Comparación

Hagamos una comparación rápida de ambas máquinas virtuales antes de seguir adelante.

Dalvik

ARTE

Utiliza el enfoque Just-In-Time (JIT), lo que resulta en un menor consumo de espacio de almacenamiento pero tiempos de carga de aplicaciones más largosUtiliza el enfoque de adelanto de tiempo (AOT), que compila aplicaciones cuando están instaladas, lo que resulta en tiempos de carga más rápidos y un menor uso del procesador
La memoria caché se acumula con el tiempo, por lo que los tiempos de arranque son más rápidosLa memoria caché se construye en el primer arranque, por lo tanto, el reinicio del dispositivo lleva mucho más tiempo
Funciona mejor para dispositivos de almacenamiento interno más bajos ya que el espacio ocupado es menorConsume mucho más espacio de almacenamiento interno ya que almacena aplicaciones compiladas además de las APK
Es estable y probado en el tiempo: VM de elección para desarrolladores de aplicacionesEs altamente experimental y nuevo: todavía no hay mucho apoyo de los desarrolladores de aplicaciones

Dices que el ARTE es experimental …

Sí, y en este momento, está disponible solo en dispositivos con conjuntos de chips Snapdragon y con Android 4.4 KitKat. Tiene la opción de cambiar de Dalvik a ART desde las opciones ocultas del desarrollador , si lo desea, pero tenga en cuenta que algunas de sus aplicaciones podrían no funcionar correctamente. Además, si ya hay una caché de aplicaciones construida bajo Dalvik, el primer reinicio después de hacer el cambio puede demorar hasta media hora.

Google ha hecho que ART esté disponible principalmente con KitKat para que los desarrolladores jueguen y establezcan las bases para un cambio permanente en el futuro. Y esto de ninguna manera implica que ART esté listo para usar hoy. Será en el futuro, pero por ahora, es experimental y no es apto para el uso diario por parte del usuario final.

En cuanto a los beneficios de ART, hay informes mixtos. Para la mayoría de los revisores, los dispositivos de prueba se componen de procesadores de cuatro núcleos con más de 2 gigas de RAM, que es una configuración más que adecuada para observar realmente las ganancias de velocidad de ART. Aún así, los usuarios aleatorios informan ganancias superiores al 50% en velocidad y más del 30% en la duración de la batería. Otros afirman que no es más que un efecto placebo.

Para ser justos, no se puede decir nada antes de que esté disponible para las masas y pierda la etiqueta experimental. Por lo tanto, guardaremos ese debate para más adelante. Lo que se puede decir en este momento con certeza es que el ARTE es el futuro. Google irá con una compilación anticipada para que coincida realmente con iOS, es su mayor contraparte, y ART va a allanar el camino. No importa cuán tonto pueda parecer el nombre o cuán incompleto sea en este momento, continuaremos viendo ART cada vez más.

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies