Aller au contenu

Dalvik vs ART


Recommended Posts

Vous avez peut être entendu parler de DALVIK et maintenant de ART, qui pour moi est beaucoup plus rapide, fluide et stable, voici donc une petite description de ces deux techniques.

Vous trouverez l'option dans les options developpeurs. Mais lisez bien ce qui suis avant de changer quoi que ce sois !

 

 

* Le DALVIK cache

merci a : winny57 de Phonadroid

 

Dalvik est une machine virtuelle destinée aux téléphones mobiles et tablettes tactiles, qui est incorporée dans le système d'exploitation Android. Dalvik est destiné à permettre l'exécution simultanée de plusieurs applications sur un appareil de faible capacité (peu d'espace mémoire et peu de puissance de calcul).

 

Crée par Dan Bornstein, Dalvik fait partie du runtime, le moteur qui permet l'exécution des applications pour Android. Le nom est celui d'un village de pêcheurs en Islande, pays d'origine de son auteur.

Dalvik offre une alternative à la machine virtuelle de la technologie Java. Les fichiers de bytecode de la technologie Java sont préalablement transformés et consolidés dans un fichier .dex (Dalvik Executable) en vue de leur utilisation par Dalvik.

Le but d'une machine virtuelle comme Dalvik est de permettre d'exécuter le même programme sur une grande variété d'appareils, quelles que soient leurs caractéristiques techniques. Le code exécutable du programme (dit bytecode) est transformé à la volée en instructions spécifique à l'appareil sur lequel le programme est exécuté - c'est la fonction de compilation just-in-time de la machine virtuelle. 

Dalvik est un des composants clé d'Android. Il est destiné à permettre l'exécution simultanée de plusieurs applications sur un appareil de faible capacité (peu d'espace mémoire et peu de puissance de calcul). La capacité ordinaire des appareils mobiles contemporains de 2011 étant équivalente à celle d'un ordinateur personnel vieux de dix ans.

 

La technologie Java et DalvikJava est un langage de programmation destiné à être utilisé sur une grande variété d'appareils, selon la devise « write once, run anywhere » (en français écrire une fois, utiliser partout). Les programmes écrits dans ce langage sont traduits en bytecode qui sera ensuite exécuté par une machine virtuelle telle que celle de l'environnement d'exécution Java de Oracle. L'objectif de Dalvik est de fournir une machine virtuelle alternative, adaptée aux limitations des appareils mobiles.

 

Dalvik exécute un bytecode différent, dont les instructions sont basées sur des registres, alors que la machine virtuelle classique de la technique Java est basée sur la pile. Une machine à registres nécessite moins d'instructions pour effectuer les mêmes opérations qu'une machine à pile et est par conséquent mieux adaptée à un appareil ayant peu de puissance de calcul. En raison de cette différence, les fichiers de bytecode Java ordinaires ne peuvent pas être exécutés tel quel par Dalvik, et un programme inclus dans le SDK Android transforme au préalable ces fichiers en DEX (Dalvik Executable) - les fichiers de bytecode pour Dalvik. Les fichiers exécutables pour Dalvik (.dex) sont créés par consolidation des fichiers de bytecode Java. La taille du fichier .dex est typiquement la moitié de la taille des fichiers de bytecode Java desquels il est issu.

 

La machine virtuelle Dalvik se sert des services offerts par le noyau Linux. Dans Android il est également possible de créer des applications qui n'utilisent pas Dalvik, et qui se servent directement des librairies natives du système, une technique assez rarement utilisée.

 

Tous les services fournis par Android ainsi que les moyens matériels des appareils sont mis à disposition à travers Dalvik. Cette machine virtuelle joue le rôle d'écran qui cache les caractéristiques techniques de l'appareil sur laquelle elle est exécutée

 

 

 

 

* L'ART (android runtime]

 

 

Encore en phase de développement et donc Google ne le conseille pas en utilisation quotidienne, les applications déodexées ne fonctionneront pas

 

 

La différence entre Dalvik et ART se situe principalement sur le moment d’interprétation du code. Dalvik va interpréter le bytecode (langage intermédiaire entre les instructions machines et le code source) à la volée pour être exécuté, c’est ce qu’on appelle JIT, pour Just In Time. Alors que ART va compiler le bytecode (avant que vous en ayez besoin) une fois pour toutes , avant son utilisation, c’est ce qu’on appelle AOT : Ahead-Of-time.

 

KitKat (Android 4.4) a introduit dans le menu caché “développeur” la possibilité d’essayer ART. 

 

Pour l’activer ART, il faut aller dans Paramètres / À propos du téléphone et descendre jusqu’à la version de build de votre Android. Tapotez plusieurs fois (le décompte s’affiche) sur la build pour débloquer le mode “développeur”. Ensuite repartez dans Paramètres / Options pour les développeurs / Select. moteur d’exécution / Utiliser ART.

 

Le smartphone reboot et, comme lors d’une mise à jour OTA, va optimiser les applications de votre mobile.

 

C’est Android RunTime (ART) qui a désormais les faveurs de Google. La solution améliorera significativement les performances des applications Android.

 

Des premiers essais dans Android 4.4 tendent à montrer que les applications sont améliorées à hauteur de 100% en termes de rapidité d’exécution, un pourcentage qui pourrait encore augmenter avec la version finale d’ART.

 

En effet, le code interprété prend plus de temps à être exécuté, ce qui se traduit par une consommation électrique plus importante au niveau du processeur. C’est le cas avec du code interprété par JavaRunTime (JRT) mais également avec du code interprété par Dalvik (à technologie Java également).

 

Avec ART, chaque application Android est compilée lors de l’installation. Cela prend donc plus de temps de l’installer mais beaucoup moins ensuite lorsqu’elle est exécutée.

 

  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

Comme indiqué, ART ne fonctionne pas sur du deoxedee et tous les ROM custom le sont.

Seuls les Nexus de ROM stock peuvent se permettrede l'activer.

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...