reynir navegador islandia cache art amnho java android dalvik

java - navegador - dalvik vs art



¿Cuál es la diferencia entre DVM y ART? ¿Por qué DVM ha sido reemplazado oficialmente con ART en Lollipop? (4)

Android 4.4 KitKat, Google decidió introducir una nueva forma de ejecutar aplicaciones sobre el sistema operativo Android. Echemos un vistazo más de cerca a lo que este nuevo tiempo de ejecución, llamado ART

ART es el proyecto secreto en curso de 2 años de Google, cuyo objetivo es aumentar el rendimiento de nuestros dispositivos Android.

Android L (5.0) ART se ha creado como el tiempo de ejecución predeterminado (ART ha reemplazado completamente a Dalvik).

ART (Android RunTime) es la próxima versión de Dalvik. Dalvik es el tiempo de ejecución, bytecode y VM utilizado por el sistema Android para ejecutar aplicaciones de Android.

Dalvik se basa en la compilación JIT (justo a tiempo) . Significa que cada vez que ejecute una aplicación, la parte del código requerido para su ejecución se traducirá (compilará) en código de máquina en ese momento. A medida que avance a través de la aplicación, el código adicional se compilará y almacenará en caché, de modo que el sistema pueda reutilizar el código mientras se ejecuta la aplicación. Dado que JIT compila solo una parte del código, tiene una huella de memoria más pequeña y utiliza menos espacio físico en el dispositivo.

ARTE vs Dalvik / AOT vs JIT

Ventajas de ART sobre Dalvik:

  1. La velocidad de lanzamiento de las aplicaciones es increíblemente rápida en el caso de ART, ya que no se compila nada en la ejecución.
  2. La velocidad de arranque es más rápida que dalvik, ya que no se ejecuta nada desde la partición dalvik como en el caso de ROM odexed en dalvik
  3. Aumenta el respaldo de la batería al reducir el trabajo de la CPU debido a la ausencia de trabajo de compilación en la ejecución de las aplicaciones.
  4. Recolección de basura mejorada (GC)
  5. Y, finalmente, es una gran recompensa para los desarrolladores porque a la mayoría de los desarrolladores les preocupa que las ROM indexadas sean más rápidas que las ROM desodexadas, pero desodexarán sus ROM ya que tienen un gran tema. En el caso de ART, ya sea que la ROM esté indexada o desodexada, no importa, compila el código completo en lenguaje de máquina en la instalación de aplicaciones. por lo que incluso las ROM desodexadas son tan rápidas como las de ART

Desventajas de ART

  1. Dado que ART precompila las aplicaciones en la instalación, ocupa un 10-20% más de espacio en la instalación que dalvik.
  2. Como los bytecodes dex se convierten en código de máquina nativo en la instalación, la instalación lleva más tiempo.

Los tiempos de instalación en mi Nexus 4, para uno de nuestros proyectos más grandes, saltaron de ~ 17 s a ~ 25 s.

Dalvik vs. ART Benchmark Results (Android 4.4): Linpack

Hilo sencillo ---> Dalvik (135) ---> ART (149) ---> 10.93%

Hilo múltiple ---> Dalvik (336) ---> ART (383) ---> 13.82%

Desde Android Lollipop, Google ha reemplazado DVM con ART porque ART es más rápido que DVM. ¿Hay alguna otra razón para eso?


En Android Lolipop, DVM ha sido reemplazado por ART. Porque DVM convierte el bytecode cada vez que inicias una aplicación específica. Pero ART lo convierte solo una vez en el momento de la instalación de la aplicación. Eso hace que la ejecución de la CPU sea más fácil. ARM es una arquitectura. Como MIPS, x86, etc. DVM / ART se ejecuta sobre ARM. Ambos no pueden reemplazarse entre sí. Espero que esto aclare tu confusión.


En la versión Android 4.4 y superior, junto con Dalvik, Google introdujo un nuevo Android Runtime llamado "ART".

Diferencia entre ART vs Dalvik

ART (Android RunTime) tiene la característica principal de compilación anticipada (AOT),

AOT vs JIT

El formato de las aplicaciones de Android es .apk y todas las clases de Java se convierten a bytecode DEX. El formato de bytecode de DEX es independiente de la arquitectura del dispositivo y debe traducirse a código de máquina nativo para ejecutarse en el dispositivo. Esto es lo mismo para los tiempos de ejecución de ART y Dalvik.

Diferencia principal, ART (Android RunTime) utilizó la compilación de Adelante del Tiempo (AOT), Dalvik se usa la compilación Just-in-Time (JIT)

Con Dalvik, compilación Just-in-Time (JIT) cada vez que se ejecuta la aplicación, convierte el código de bytes dex en código de máquina y se almacena en caché.

ver aquí más detalles http://androidboost.over-blog.com/2016/10/art-vs-dalvik.html


Hay algunas mejoras de rendimiento importantes que trae el ART que faltaban en Dalvik. Pero todos los pros tienen algunas desventajas también. Trataré de discutir tanto las ventajas como las desventajas aquí.


1) Enfoque de compilación

Esta es, con mucho, la mayor ventaja de ART sobre Dalvik. El viejo Dalvik usó el enfoque Justo a Tiempo (JIT) en el que la compilación se realizó a pedido. Todos los archivos dex se convirtieron en sus respectivas representaciones nativas solo cuando fue necesario.

Pero ART utiliza el enfoque de anticipación del tiempo (AOT) , en el que los archivos dex se compilaron antes de ser exigidos. Esto mejora enormemente el rendimiento y la duración de la batería de cualquier dispositivo Android.

Por ejemplo

En el caso de Dalvik, cada vez que toca el ícono de una aplicación para abrirla, los archivos dex necesarios se convierten en sus códigos nativos equivalentes. La aplicación solo comenzará a funcionar cuando se haga esta compilación. Por lo tanto, la aplicación no responde hasta que esto termina.

Además, este proceso se repite cada vez que abre una aplicación, lo que desperdicia los ciclos de CPU y el valioso consumo de batería.

Pero en el caso de ART, siempre que instale una aplicación, todos los archivos dex se convierten de una vez por todas . Por lo tanto, la instalación lleva algún tiempo y la aplicación ocupa más espacio que en Dalvik, pero el rendimiento se ha mejorado enormemente y la vida de la batería se conserva de forma inteligente .


2) Tiempo de arranque

En el caso de Dalvik, el caché se construye con el tiempo en que se ejecuta el dispositivo y se usan las aplicaciones como lo indica el enfoque JIT. Así que el tiempo de arranque es muy rápido.

Pero en el caso de ART, el caché se crea durante el primer arranque, por lo que el tiempo de arranque es considerablemente mayor en el caso de ART . Es posible que vea un cuadro de diálogo "Optimización de aplicaciones" a veces que inicia.


3) Uso del espacio

El espacio utilizado por las aplicaciones que se ejecutan en ART es mucho más que el de Dalvik. Como una aplicación de 20 MB en Dalvik, toma más de 35 MB en ART.

Entonces, si está en un dispositivo de almacenamiento bajo, esto puede ser una gran desventaja para usted.


4) el ARTE es malditamente rápido

Como se mencionó anteriormente, el tratamiento antirretroviral es extremadamente rápido y suave . Las aplicaciones son muy ágiles y sensibles. Cualquier comparación entre Dalvik y ART hará que el dispositivo ART gane por un margen significativo.

ART es la respuesta para todos aquellos que argumentaron que iOS es más rápido y más suave que Android y también es más eficiente con la batería.