22 votes

Dalvik VM vs. ART (Android Runtime) : Impact pour les utilisateurs finaux ?

Avec le Nexus 5 (Android 4.4 KitKat), Google a livré deux runtimes pour exécuter les applications.

Select Runtime option in Android 4.4 KitKatDalvik and ART Runtimes in Android 4.4 KitKat

Quelles sont les différences entre Dalvik et ART pour les utilisateurs finaux ? Comment les utilisateurs finaux peuvent-ils être affectés par cela ? Y a-t-il une raison spécifique pour laquelle je devrais choisir le nouveau runtime ART ?

27voto

Galaxy Z Flip 3 Points 12200

Dalvik VM (Virtual Machine) est la version de Google d'une VM Java (sur laquelle les applications s'exécutent). Les VM maintiennent les applications isolées et indépendantes du matériel réel et des autres applications. Mais, pour que cela fonctionne, Dalvik doit convertir ce qu'on appelle le bytecode (conçu pour la machine virtuelle) en code machine natif. Afin de minimiser la pénalité de performance que la conversion du bytecode en code natif introduit, un processus appelé compilation Just-In-Time (JIT) est effectué, qui convertit le bytecode chaud, c'est-à-dire souvent utilisé, en code natif. 1

ART (Android Runtime) est un remplacement de Dalvik qui utilise la compilation Ahead-Of-Time (AOT), ce qui signifie que vos applications sont compilées dans un état prêt à fonctionner avant même que vous ne les lanciez. Cela se fait généralement au moment de l'installation de l'application, ce qui rend le processus de lancement et d'utilisation beaucoup plus rapide et fluide. Et comme la compilation n'est effectuée qu'une seule fois, l'autonomie de la batterie peut également être améliorée.

Si ART est meilleur du point de vue des performances et de l'autonomie de la batterie, dois-je l'utiliser ?

Non. Si vous faites cela, vous risquez de casser des applications tierces. Google a livré cet ART preview avec Android 4.4 pour que les développeurs puissent tester leurs applications.

Note complémentaire : L'approche de Google avec ART est de battre iOS (les applications iOS sont natives, donc plus performantes même sur des matériels bas de gamme), mais je ne sais pas où cela mène... Une autre fragmentation ? Voir Les OEM sont libres de construire des appareils utilisant l'un ou l'autre ou les deux. . La version finale ne devrait pas affecter la plupart des applications, mais elle n'est pas 100% multiplateforme.

1 Notez que le JIT a été ajouté à Dalvik dans Android 2.2.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X