Android : Google remplace officiellement Dalvik par son Android Runtime

Developers ! Developers ! Ah non... 87
En bref
image dediée
OS
Vincent Hermann

Il y a désormais de fortes chances que la prochaine version d’Android  soit fournie avec une nouvelle machine virtuelle par défaut. ART, pour Android Runtime, devrait ainsi remplacer Dalvik et fournir aux applications un gain bienvenu de performances.

android dalvik art

Des applications compilées jusqu'ici à la volée 

Sous Android, la très grande majorité des applications sont écrites en Java. Comme tout développement utilisant ce langage, elles ont besoin d’une machine virtuelle qui va s’occuper de les compiler avant qu’elles ne s’exécutent. Dans le système mobile de Google, ce rôle est attribué à Dalvik, qui est donc chargé de récupérer des fichiers DEX qui contiennent du bytecode. Ce dernier est en fait un langage intermédiaire, conçu pour être compilé à la volée (compilation JIT).

Quand un utilisateur d’Android récupère une application depuis la boutique Google Play, il télécharge en fait un code intermédiaire. Quand l’application se lance, le bytecode est alors compilé en langage machine qui devient dès lors directement exécutable par le processeur de l’appareil. On retrouve ici les avantages du langage intermédiaire, qui n’a rien de spécifique à Java (Microsoft utilise un modèle équivalent pour .NET), mais les applications sont en revanche plus lentes à démarrer et certains soucis de performances peuvent voir le jour.

« Dalvik is dead, long live Dalvik! » 

Ce problème de performances des applications Android est un vieux sujet, et Google travaille sur la question depuis un certain temps. Mais au cours de la nuit de mercredi à jeudi, un changement très important a été réalisé par la firme dans la branche principale de développement d’AOSP (Android Open Source Project). Deux « commits », numérotés 98553 et 98618, changent en effet la donne. Comme le signale XDA-Developers, le premier supprime Dalvik tandis que le second proclame ART comme machine virtuelle par défaut.

ART, pour Android Runtime, n’est pas nouveau. Il est en fait en test depuis l’année dernière et il était tout à fait possible de l’utiliser via les options dédiées aux développeurs. Cependant, son fonctionnement rendait une bonne partie des applications tierces instables à cause d’un fonctionnement très différent. Mais l’objectif global est bien l’amélioration des performances. Explications.

Google veut améliorer les performances des applications 

Le plus gros changement introduit par ART est la compilation dite AOT, pour « Ahead-Of-time » (là encore, comme Microsoft procèdera bientôt avec .NET). Si la compilation JIT s’occupe de transcrire à la volée, AOT s’en occupe « avant ». Plus précisément, le code intermédiaire va être compilé dès sa récupération depuis Google Play pour réellement « installer » l’application, qui sera enregistrée telle quelle dans le téléphone, en code natif. Son lancement sera donc beaucoup plus rapide car le code ne sera pas recompilé à chaque exécution. Du moins en théorie.

Parmi les autres changements, ART fournit également un « garbage collector » (ramasse-miettes) amélioré. Dans sa documentation technique, Google explique en effet que celui-ci a souvent un impact sur les performances. Dans ART, plusieurs aspects ont été optimisés et une fonction de compactage doit arriver plus tard. Toujours pour les développeurs, Android Runtime propose également de nouvelles fonctionnalités pour le débogage ainsi que des outils d’analyse spécifiques, notamment pour la gestion des exceptions et des crashs.

Les travaux ne sont pas terminés

Dans la pratique, de nombreux problèmes devront être résolus. Il existe en effet une différence de taille entre proposer une machine virtuelle non finalisée aux développeurs et l’utiliser en standard pour tous les utilisateurs. Car le remplacement de Dalvik par ART va directement impacter les constructeurs qui devront procéder à de nombreux réglages dans les ROM fournies avec les smartphones et tablettes. À travers les discussions des testeurs, on trouve assez facilement des constats de soucis de ce type.

Mais les constructeurs ne seront pas les seuls à devoir s’adapter. Les applications tierces vont devoir elles aussi procéder à des changements. Les développeurs ont cependant déjà adapté une bonne partie d’entre elles et les utilisateurs ne devraient pas rencontrer de difficultés majeures lorsqu’ART entrera effectivement en piste. On peut d’ailleurs déjà vérifier si les applications que l’on utilise sont compatibles via un site dédié.

Mais justement, quand cette arrivée est-elle prévue ? La réponse devrait en fait arriver la semaine prochaine durant la Google I/O. La firme va sans doute procéder à de nombreuses annonces, les rumeurs de renouvellement visuel étant particulièrement nombreuses. Elle pourrait d'ailleurs présenter Android 5.0, dont ART serait alors l’une des nouveautés majeures puisque mettant l’accent sur les performances, voire à terme une amélioration de l’autonomie.


chargement
Chargement des commentaires...