Avec Nexus 5 (Android 4.4 KitKat), Google a livré deux runtimes pour exécuter des applications.
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 particulière pour laquelle je devrais choisir un nouveau runtime ART?
dalvik
4.4-kitkat
art
Android Quesito
la source
la source
Réponses:
Dalvik VM (Virtual Machine) est la version de Google d'une machine virtuelle Java (sur laquelle les applications s'exécutent). Les machines virtuelles maintiennent les applications isolées et indépendantes du matériel réel et d'autres applications. Mais, pour que cela fonctionne, Dalvik doit convertir ce que l'on appelle le bytecode (conçu pour la machine virtuelle) en code machine natif. Afin de minimiser la pénalité de performance introduite par la conversion du bytecode en code natif, 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) remplace 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 de les lancer. 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 plus fluide. Et comme cela signifie que la compilation n'est effectuée qu'une seule fois, vous pouvez également voir une meilleure autonomie de la batterie.
Non. Si vous le faites, vous risquez de casser des applications tierces. Google a livré cet aperçu ART avec Android 4.4 pour que les développeurs puissent tester leurs applications dessus.
Note latérale: L'approche de Google avec ART est de battre iOS (les applications iOS sont natives, donc elles fonctionnent mieux même sur des spécifications matérielles bas de gamme), mais je ne sais pas où cela se dirige ... Une autre fragmentation? Les constructeurs OEM sont libres de créer des appareils en utilisant l'un ou les deux . La version finale ne devrait pas affecter la plupart des applications, mais ce n'est pas 100% multiplateforme.
1 Notez que JIT a été ajouté à Dalvik dans Android 2.2
la source