Saltar al contenido
ᐅ HielosMendez – Información digital que te dejara helado 🧊🥶

Android ART: Google finalmente se mueve para reemplazar a Dalvik, para aumentar el rendimiento y la duración de la batería

Términos de Uso.

A lo largo de la rápida y tumultuosa historia de Android, que ahora tiene cinco años, casi todos los aspectos del sistema operativo se han cambiado, actualizado o revisado de alguna manera. Todo, es decir, excepto la parte más importante: Dalvik, la máquina virtual que ejecuta casi todas las aplicaciones de Android, se ha mantenido prácticamente igual desde el primer día, y Dalvik es . Ahora, con Android 4.4, Google ha revelado que se está trabajando en un reemplazo de Dalvik, un reemplazo, llamado Android Runtime (ART), que debería mejorar el rendimiento de las aplicaciones de Android por un gran margen. La primera versión de ART en Android 4.4 ya acelera las aplicaciones en aproximadamente un 100%, y la versión final debería ser aún mejor.

Cuando ejecuta software en una computadora, como una PC o un teléfono inteligente, casi siempre está ejecutando . El código compilado es código fuente que ha sido compilado por el desarrollador en un código que la computadora puede entender (código de máquina). Si abre un archivo EXE, verá código compilado: código de máquina gobbledegook que su CPU puede ejecutar. Windows, su navegador web, , Linux, aplicaciones iOS: todos estos son ejemplos de código compilado.

Crysis 3 - FOV predeterminado

Los juegos AAA de gran presupuesto como Crysis casi siempre se compilan, por razones de rendimiento.

El otro tipo de código es . Esto puede venir en muchas variedades, pero lo principal es que la CPU no puede ejecutar directamente el código interpretado; primero debe ser compilado por el en código máquina, utilizando un proceso llamado compilación justo a tiempo (JIT). El ejemplo más común de código interpretado es JavaScript, que su navegador web interpreta / compila cada vez que visita un sitio web que utiliza JavaScript. El código interpretado es útil por dos razones principales: puede realizar cambios sin tener que volver a compilar todo y porque es independiente de la plataforma. (Puede ejecutar JavaScript en cualquier plataforma que tenga un navegador web moderno; no puede ejecutar un EXE de Windows en el OS X de Apple).

El otro excelente ejemplo de código interpretado es Java, y Dalvik es esencialmente la versión de Java de Google. Java es deseable porque un desarrollador puede escribir un programa una vez y luego ejecutarlo en cualquier plataforma de hardware que tenga un intérprete que funcione (la máquina virtual de Java). Por la misma razón, debido a que Android fue diseñado para ejecutarse en una amplia gama de plataformas, especificaciones de hardware y factores de forma, Google decidió usar la máquina virtual Dalvik para aplicaciones de Android. De esta manera, un desarrollador puede escribir una sola aplicación de Dalvik y tener la seguridad de que se ejecutará en teléfonos inteligentes, tabletas, televisores, dispositivos integrados, etc.

Puntos de referencia de OdinMonkey / Asm.js

Este gráfico muestra el rendimiento de JavaScript interpretado (rojo / azul) frente a la misma función compilada en código nativo (naranja)

Sin embargo, el problema con el código interpretado es que es lento, muy lento. En el caso de JavaScript, es alrededor de 20 veces más lento que el mismo código que se ha compilado de forma nativa con C o C ++. Java / Dalvik no es tan lento, pero sigue siendo significativamente más lento que el código compilado de forma nativa. En muchos casos, especialmente con los procesadores modernos, esta diferencia de velocidad no es muy obvia, pero todo suma. Es imposible culpar únicamente a Dalvik por la capacidad de respuesta más lenta o el mayor consumo de energía de Android, pero definitivamente es un factor importante. Es una ecuación simple: el código interpretado tarda más en ejecutarse y consume más tiempo de CPU, lo que reduce la duración de la batería y la capacidad de respuesta general.

Tiempo de ejecución de Android – ART

Android 4.4, seleccione el tiempo de ejecución de la aplicación Dalvik o ARTGoogle sabe todo esto sobre Dalvik, por supuesto, por lo que ha estado trabajando en su reemplazo, Android Runtime (ART), durante más de dos años. Se incluye una versión anterior de ART con Android 4.4 y se puede habilitar en Settings > Developer Options > Select Runtime.

ART abarca un interesante punto medio entre el código compilado y el interpretado, llamado compilación anticipada (AOT). Actualmente, con las aplicaciones de Android, se interpretan en tiempo de ejecución (usando el JIT), cada vez que las abres. Esto es lento. (Las aplicaciones de iOS, en comparación, se compilan en código nativo, que es mucho más rápido). Con ART habilitado, cada aplicación de Android se compila en código nativo. . Luego, cuando llega el momento de ejecutar la aplicación, funciona con toda la presteza de una aplicación nativa.

Obviamente, lleva un tiempo realizar la compilación AOT en el momento de la instalación, pero las ganancias a largo plazo de las aplicaciones que se cargan y se ejecutan más rápido lo compensarán fácilmente. Probablemente ni siquiera notará la compilación AOT de pequeñas aplicaciones; pero para aplicaciones más grandes, estamos hablando de un retraso notable. Si cambia un dispositivo existente de Dalvik a ART, está hablando de un tiempo de espera de unos minutos mientras Android realiza AOT para todas sus aplicaciones instaladas.

La principal ventaja de ART es que permite a los desarrolladores de Android continuar escribiendo exactamente el mismo código y hacer que sus aplicaciones funcionen en una amplia gama de especificaciones de hardware y factores de forma, pero ahora sus aplicaciones ahora se ejecutarán significativamente más rápido, se sentirán más receptivas y La duración de la batería de su dispositivo debería mejorar. Las primeras pruebas indican que ART es dos veces más rápido que Dalvik. El código compilado de ART también debería funcionar de manera más consistente que JIT Dalvik, reduciendo la latencia y tartamudeo de la interfaz de usuario. Las mayores ganancias probablemente serán para las aplicaciones de computación intensiva, como los editores de fotos y videos, pero si esta primera versión de ART es algo por lo que pasar, debería haber mejoras significativas en todos los ámbitos. ART podría ser un cambio que finalmente haga que Android sea tan sensible y ágil como iOS.

No hay un cronograma para la introducción oficial de ART, pero dado que Google ha estado trabajando en él durante un par de años y que la implementación en Android 4.4 se siente bastante madura, probablemente no esté tan lejos. Probablemente será una característica principal en Android 4.5, o más probablemente, dada la escala del cambio, Android 5.0.

Ahora lea: Android 4.4 KitKat desmitificado: la actualización de Android más significativa en años