Résumé
droite|vignette|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. 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. 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. Pour conserver la rétrocompatibilité, 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. Android 4.4 "KitKat" propose une préversion d'ART, mais conserve Dalvik par défaut. Par contre pour la version Android 5.0 "Lollipop", Dalvik est entièrement remplacé par ART. 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. En , la Cour suprême des États-Unis donne finalement raison à Google contre Oracle. Il est notamment rappelé que Dalvik n'est plus utilisé depuis Android 5.0. Android SDK Historique des versions d'Android Machine virtuelle XDA Developers, February 12, 2014 Google I/O 2014, by Anwar Ghuloum, Brian Carlstrom and Ian Rogers Google I/O 2010, by Ben Cheng and Bill Buzbee Delivering
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (1)
EE-490(g): Lab on app development for tablets and smartphones
This course focuses on mobile application programming for the Android ecosystem. Students learn to develop distributed Apps on mobile platforms, interfacing with multiple heterogeneous devices and the