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.