Android Runtime

Android Runtime (ART) est un environnement d’exécution d’application utilisé par le système d’exploitation Android. En remplaçant Dalvik, la machine virtuelle de processus utilisée à l’origine par Android, ART effectue la traduction du bytecode de l’application en instructions natives qui sont ensuite exécutées par l’environnement d’exécution de l’appareil.

Android Runtime

Développeur(s)

Google

Référentiel

android.googlesource.com / plateforme / art/

Écrit en

C, C++

Système d’exploitation

Android (système d’exploitation)

Site Web

source.android.com/devices/tech/dalvik/art.html  Modifier ceci sur Wikidata

Une comparaison des architectures Dalvik et ART

Android 2.2 « Froyo » a introduit la compilation juste à temps (JIT) basée sur les traces dans Dalvik, optimisant l’exécution des applications en profilant continuellement les applications à chaque exécution et en compilant dynamiquement de courts segments fréquemment exécutés de leur bytecode dans du code machine natif. Alors que Dalvik interprète le reste du bytecode de l’application, l’exécution native de ces courts segments de bytecode, appelés « traces », apporte des améliorations significatives des performances.

Contrairement à Dalvik, ART introduit l’utilisation de la compilation à l’avance (AOT) en compilant des applications entières en code machine natif lors de leur installation. En éliminant l’interprétation de Dalvik et la compilation JIT basée sur les traces, ART améliore l’efficacité d’exécution globale et réduit la consommation d’énergie, ce qui se traduit par une autonomie de batterie améliorée sur les appareils mobiles. Dans le même temps, l’ART permet une exécution plus rapide des applications, des mécanismes améliorés d’allocation de mémoire et de collecte des ordures (GC), de nouvelles fonctionnalités de débogage d’applications et un profilage de haut niveau plus précis des applications.

Pour maintenir la rétrocompatibilité, ART utilise le même bytecode d’entrée que Dalvik, fourni par standard.fichiers dex dans le cadre des fichiers APK, tandis que le .les fichiers odex sont remplacés par des exécutables au format Exécutable et Liable (ELF). Une fois qu’une application est compilée à l’aide de l’utilitaire dex2oat sur l’appareil d’ART, elle est exécutée uniquement à partir de l’exécutable ELF compilé; en conséquence, ART élimine divers frais généraux d’exécution d’applications associés à l’interprétation de Dalvik et à la compilation JIT basée sur les traces. Un inconvénient, ART nécessite un temps supplémentaire pour la compilation lorsqu’une application est installée, et les applications occupent des quantités légèrement plus importantes de stockage secondaire (qui est généralement de la mémoire flash) pour stocker le code compilé.

Android 4.4 « KitKat » a apporté un aperçu technologique de l’ART, l’incluant comme environnement d’exécution alternatif et gardant Dalvik comme machine virtuelle par défaut. Dans la version majeure d’Android suivante, Android 5.0 « Lollipop », Dalvik a été entièrement remplacé par l’art.

Android 7.0 « Nougat » a basculé son environnement d’exécution Java vers OpenJDK, introduisant un compilateur JIT avec profilage de code dans ART, ce qui lui permet d’améliorer constamment les performances des applications Android pendant leur exécution. Le compilateur JIT complète le compilateur avancé actuel d’ART et contribue à améliorer les performances d’exécution et à économiser de l’espace de stockage en compilant uniquement certaines parties des applications.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.