- - ¿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, nuevas terminologías yLas abreviaturas no son nada nuevo y, a veces, con cada nueva versión de software incluso existente, es posible que vea un nuevo término acuñado que todo el mundo parece 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 por 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, se te indicará un enlace oficial que proporciona una explicación, pero en términos técnicos que es bastante inútil para un no técnico.

Nosotros en AddictiveTips siempre nos hemos enorgullecidosimplificando los conceptos técnicos y proporcionando respuestas en términos que sean agradables para el usuario ocasional 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.

What-is-ART_vs-Dalvik-Android-Runtime-Environments

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

Antes de responder la pregunta real,necesitamos 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 esa pieza de 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 hace uso de una máquina virtual como suentorno 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 al sistema operativo principal. 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 tiempo de ejecución basado en máquina virtualEl entorno 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 suministran 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 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 se debe 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 unirsetodos los archivos necesarios, compile la aplicación y cárguela 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 (bonito nombre 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 todavía como 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 que 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, lo que resulta en una mejor vida útil de la batería y un rendimiento general.

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 las aplicaciones cuando se instalan, lo que resulta en tiempos de carga más rápidos y 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, solo está disponible endispositivos con chipsets 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 integrada en Dalvik, el primer reinicio después de realizar el cambio puede demorar hasta media hora.

Google ha hecho que ART esté disponible principalmente conKitKat 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 variosinformes. Para la mayoría de los revisores, los dispositivos de prueba constan 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 de más del 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, nada se puede decir antesqueda disponible para las masas y pierde 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 realmente coincida 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, seguiremos viendo ART cada vez más.

Comentarios