ART (Android)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Comparaison des architectures Dalvik et ART.

ART (abréviation de Android Runtime) est un environnement d'exécution utilisé principalement par le système d'exploitation Android. Il vise à remplacer la machine virtuelle Dalvik et à remplacer le bytecode par des instructions natives[1].

Principe de fonctionnement[modifier | modifier le code]

L'arrivée d'Android 2.2 "Froyo" permet une optimisation des applications par du profilage de code et une recompilation fréquente de certains éléments du bytecode, afin de permettre de meilleures performances[2],[3].

Au contraire de Dalvik, ART utilise la compilation anticipée, en compilant l'application à son installation, sans besoin ultérieur d'interprétation. ART permet ainsi d'augmenter les performances, donc d'augmenter la durée de vie de la batterie. De plus, le ramasse-miettes et les allocations mémoires sont plus efficaces, avec plus d'options de débogage ou de profilage des applications[1],[4],[5].

Pour conserver la rétrocompatibilité ascendante, ART utilise des fichiers APK ou .dex, ainsi que du bytecode Dalvik. Cependant, les fichiers .odex sont remplacés par des ELF ( Executable and Linkable Format) . Après l'installation, seule l'ELF est utilisée, les spécificités Dalvik étant ignorées ou supprimées. En contrepartie, la compilation dure plus longtemps, et l'application prend plus d'espace de stockage[1],[4],[5].

Android 4.4 "KitKat" propose une premier une préversion d'ART, mais conserve Dalvik par défaut[6],[7]. Par contre pour la version Android 5.0 "Lollipop", Dalvik est entièrement remplacé par ART[8].

Brevets[modifier | modifier le code]

Aux États-Unis, un procès opposant Oracle à Google est en cours, car Dalvik enfreindrait des brevets d'Oracle. C'est une des raisons pour le changement vers ART, qui ne pose pas ce problème[9].

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. a, b et c Andrei Frumusanu, « A Closer Look at Android RunTime (ART) in Android L », AnandTech, (consulté le 5 juillet 2014)
  2. Ben Cheng et Bill Buzbee, « A JIT Compiler for Android's Dalvik VM » [PDF], sur android-app-developer.co.uk, Google, (consulté le 18 mars 2015), p. 5–14
  3. Phil Nickinson, « Google Android developer explains more about Dalvik and the JIT in Froyo », sur androidcentral.com, (consulté le 8 juillet 2014)
  4. a et b « Android Developers: ART and Dalvik », sur source.android.com, (consulté le 18 mars 2015)
  5. a et b « Android Developers: Configuring ART – How ART works », sur source.android.com, (consulté le 18 mars 2015)
  6. Sean Buckley, « 'ART' experiment in Android KitKat improves battery life and speeds up apps », Engadget, (consulté le 5 juillet 2014)
  7. Daniel P., « Experimental Google ART runtime in Android KitKat can bring twice faster app executions », sur phonearena.com, (consulté le 5 juillet 2014)
  8. Brad Linder, « What's new in Android 5.0 Lollipop? », sur liliputing.com, (consulté le 15 octobre 2014)
  9. http://www.theinquirer.net/inquirer/news/2351032/android-50-will-switch-to-art-virtual-machine-after-oracle-dalvik-ruling

Liens externes[modifier | modifier le code]