Dans le monde de la technologie, de nouvelles terminologies etles abréviations n'ont rien de nouveau, et parfois, à chaque nouvelle version même d'un logiciel existant, vous pourriez voir apparaître un nouveau terme que tout le monde semble utiliser et comprendre. Le problème pour les débutants et même pour de nombreux utilisateurs occasionnels, cependant, est qu'ils ne comprennent pas pleinement ce que signifie la nouvelle connotation, ni qu'ils peuvent facilement le découvrir par eux-mêmes à partir de sources officielles, principalement en raison du fait que les développeurs ne sont pas '' t trop désireux d'expliquer nombre de ces terminologies et leurs détails techniques. Au mieux, vous obtiendrez un lien officiel qui fournit une explication, mais en termes tellement techniques qu'il est à peu près inutile pour un non-technicien.
Chez AddictiveTips, nous avons toujours été fiers desimplifier les concepts techniques et fournir des réponses en termes agréables à l'utilisateur occasionnel et au débutant en technologie. Par conséquent, lorsque Google a décidé d'introduire ART avec Android 4.4 KitKat, nous avons vu cela comme une opportunité de présenter à nos lecteurs le nouvel environnement d'exécution et d'aider tout le monde à comprendre de quoi il s'agit, et en quoi est-ce différent de la machine virtuelle Dalvik qui ART est en cours de construction pour remplacer.

Qu'est-ce qu'un environnement d'exécution?
Avant de répondre à la vraie question,nous devons comprendre ce qu'est réellement un environnement d'exécution. En termes plus simples, le runtime comprend des instructions logicielles qui s'exécutent lorsque votre programme est en cours d'exécution, même si elles ne font pas essentiellement partie du code de ce logiciel en particulier. Ces instructions traduisent essentiellement le propre code du logiciel en un code que l'ordinateur est capable d'exécuter. Par conséquent, tous les langages informatiques nécessitent une sorte d'environnement d'exécution qui peut exécuter correctement le code écrit dans ce langage.
Android utilise une machine virtuelle comme sonenvironnement d'exécution afin d'exécuter les fichiers APK qui constituent une application Android. L'avantage d'utiliser une machine virtuelle est double: premièrement, le code d'application est isolé du système d'exploitation principal, garantissant qu'en cas de problème, il est contenu dans un environnement isolé et n'affecte pas le système d'exploitation principal. Et deuxièmement, il permet la compatibilité croisée, ce qui signifie que même si une application est compilée sur une autre plate-forme (comme un PC, comme c'est généralement le cas avec le développement d'applications mobiles), elles peuvent toujours être exécutées sur la plate-forme mobile à l'aide de la machine virtuelle .
Pour Android, le runtime basé sur une machine virtuelleL'environnement utilisé jusqu'à présent est connu sous le nom de machine virtuelle Dalvik, qui, je suis sûr que quiconque a déjà exploré les détails du système d'exploitation, est plus que familier.
Pourquoi utiliser une machine virtuelle?
C’est en fait le point que nous avons touché juste au-dessus. Les machines virtuelles sont lentes, on ne peut le nier, mais elles détiennent en fait quelques avantages qui en font un choix privilégié.
- Les machines virtuelles fournissent un environnement isolépour l'exécution de code. Par conséquent, même si une application contient un morceau de code malveillant qui peut endommager le système d'exploitation principal, cela n'affectera pas directement les fichiers système, et ainsi le système d'exploitation principal ne sera pas corrompu. L'avantage à grande échelle est plus de stabilité et de fiabilité pour le système d'exploitation.
- Les fichiers APK de l'application fournis via Play Store(ou toute autre source, d'ailleurs) sont des instructions non compilées que les développeurs s'appuient sur la machine virtuelle pour compiler avant exécution et exécuter sur l'appareil. Cela offre plus de compatibilité; si le développeur devait fournir du code déjà compilé et qu'il a été compilé pour un processeur basé sur Snapdragon, il pourrait ne pas fonctionner correctement sur une puce Tegra, par exemple. Par conséquent, cette compilation sur l'appareil résout ce problème.
Alors, qu'est-ce que Dalvik et qu'est-ce qui ne va pas?
Telle est la question à poser, n'est-ce pas? Dalvik existe depuis le début d'Android en 2007, et cela n'a pas beaucoup changé depuis, à l'exception de l'approche de compilation Just-In-Time (JIT) introduite dans Android 2.2 Froyo, qui compile essentiellement les applications dès qu'elles sont lancé ou lorsque l'utilisateur fournit les instructions nécessaires. C'est utile, ainsi qu'une amélioration par rapport à l'approche d'interpréteur conventionnelle précédente qui compilait et exécutait le code ligne par ligne au fur et à mesure, mais l'inconvénient est un énorme surcoût lorsque l'application est lancée pour la première fois.
En effet, le système doit se ressaisirtous les fichiers nécessaires, compilez l'application et chargez-la dans la RAM. Tant que l'application compilée reste dans la RAM, elle continuera de répondre rapidement, mais lorsque vous chargez plus d'applications et que la RAM s'épuise, la première est déchargée et donc, lors du lancement suivant, tout le processus recommence. L'approche est logique sur le papier et, en fait, a bien fonctionné jusqu'à présent pour la plate-forme. Cependant, les appareils plus anciens avec une mémoire RAM limitée souffrent le plus, car le cycle de chargement / déchargement se poursuit plus souvent, et par conséquent, le système semble lent en termes de réactivité globale. C’est là que la nouvelle machine virtuelle, ART, entre en jeu.
Qu'est-ce que l'ART et comment améliore-t-il les choses?
ART ou Android RunTime (nom assez boiteux, oui,nous le savons) est une nouvelle machine virtuelle expérimentale que Google a introduite avec Android 4.4 KitKat en tant qu'option de développement (Dalvik étant toujours celui défini par défaut pour l'instant). La principale différence entre ART et Dalvik est l'approche de compilation que ces deux utilisent - ART utilise un nouveau concept Ahead-Of-Time (AOT) contrairement au JIT de Dalvik, qui compile essentiellement les applications avant même leur lancement. Cela signifie que les premières installations prendront plus de temps et que les applications occuperont plus d'espace sur le stockage interne, mais en même temps, puisque l'application sera entièrement compilée dès son installation, les temps de lancement seront beaucoup plus rapides. De même, comme la partie compilation n'est prise en charge qu'une seule fois au moment de l'installation, la charge du processeur est plus faible, ce qui se traduit par une meilleure durée de vie de la batterie et des performances globales.
Dalvik Vs. ART - Comparaison
Faisons simplement une comparaison rapide des deux machines virtuelles avant de continuer.
Dalvik | ART |
Utilise l'approche Just-In-Time (JIT), qui se traduit par une consommation d'espace de stockage inférieure mais des temps de chargement d'application plus longs | Utilise l'approche Ahead-Of-Time (AOT), qui compile les applications lorsqu'elles sont installées, ce qui accélère les temps de chargement et réduit l'utilisation du processeur |
Le cache s'accumule au fil du temps, donc les temps de démarrage sont plus rapides | Le cache est construit au premier démarrage, donc le redémarrage du périphérique prend beaucoup plus de temps |
Fonctionne mieux pour les périphériques de stockage internes inférieurs car l'espace occupé est moindre | Consomme beaucoup plus d'espace de stockage interne car il stocke des applications compilées en plus des APK |
Est stable et testé dans le temps - VM de choix pour les développeurs d'applications | Est très expérimental et nouveau - pas encore beaucoup de soutien des développeurs d'applications |
Vous dites que l'ART est expérimental…
Oui, et pour l'instant, il n'est disponible que suravec des chipsets Snapdragon et exécutant Android 4.4 KitKat. Si vous le souhaitez, vous avez la possibilité de passer de Dalvik à ART à partir des options de développeur cachées, mais sachez que certaines de vos applications peuvent ne pas fonctionner correctement. De plus, s'il existe déjà un cache d'application sous Dalvik, le premier redémarrage après avoir effectué le changement peut prendre jusqu'à une demi-heure.
Google a principalement rendu ART disponible avecKitKat pour que les développeurs s'amusent et établissent les bases d'un commutateur permanent à l'avenir. Et cela ne signifie nullement que ART est prêt à l'emploi aujourd'hui. Ce sera dans le futur, mais pour l'instant, il est expérimental et ne convient pas à un usage quotidien par l'utilisateur final.
Quant aux bienfaits de l'ART, il existe desrapports. Pour la plupart des examinateurs, les dispositifs de test comprennent des processeurs quad-core avec plus de 2 Go de RAM, ce qui est une configuration plus que adéquate pour vraiment observer les gains de vitesse de l'ART. Pourtant, les utilisateurs aléatoires signalent des gains de vitesse de plus de 50% et de plus de 30% d'autonomie de la batterie. D'autres encore prétendent que ce n'est rien de plus qu'un effet placebo.
En toute honnêteté, rien ne peut être dit avantdevient disponible pour les masses et perd l'étiquette expérimentale. Par conséquent, nous conserverons ce débat pour plus tard. Ce qui peut être dit avec certitude à ce stade, c'est que l'ART est l'avenir. Google va opter pour une compilation à l'avance afin de vraiment correspondre à iOS, son plus grand homologue, et ART va ouvrir la voie. Peu importe à quel point le nom peut paraître ridicule ou incomplet en ce moment, nous continuerons de voir ART de plus en plus.
commentaires