80 votes

Qu'est-ce que Dalvik et dalvik-cache ?

Je sais que c'est peut-être une question de base pour Android. Mais qu'est-ce que Dalvik et dalvik-cache ?

137voto

JesusFreke Points 7447

Dalvik est la machine virtuelle utilisée par Android. Elle est généralement considérée comme une machine virtuelle Java, bien que cela ne soit pas tout à fait exact. Elle utilise un modèle objet identique à celui de Java, et son modèle mémoire est également presque équivalent. Mais la VM dalvik est une VM basée sur les registres, par opposition aux VM Java, qui sont basées sur les piles.

Par conséquent, il utilise un bytecode complètement différent de celui de Java. Cependant, le SDK Android inclut le outil dx pour traduire le bytecode Java en bytecode dalvik, ce qui explique pourquoi vous êtes en mesure d'écrire des applications Android en Java.

Quand vous dites " dalvik-cache ", je suppose que vous voulez dire le /données/dalvik-cache que l'on trouve sur les appareils Android classiques. Lorsque vous installez une application sur Android, celui-ci effectue certaines modifications et optimisations sur le fichier dex de cette application (le fichier qui contient tout le bytecode dalvik de l'application). Il met ensuite en cache le fichier odex résultant ( dex optimisé ) dans le fichier /données/dalvik-cache afin de ne pas avoir à effectuer le processus d'optimisation à chaque fois qu'il charge une application.

good reference

15 votes

Que se passe-t-il si je supprime ces caches Dalvik ? Y aura-t-il un effet, si ce n'est que l'application mettra du temps à se charger car elle doit reconstruire son cache Dalvik ?

16 votes

Correct. Il n'y a aucun effet, autre que l'augmentation du temps de chargement suivant, lors de la reconstruction.

0 votes

Comme quelqu'un l'a posté sur une autre question dupliquée, voici votre lien wiki gratuit "Le cache Dalvik est une partie essentielle de votre Android. Vous pouvez en savoir plus à son sujet ici : fr.wikipedia.org/wiki/Dalvik_%28software%29 "

3voto

omermuhammed Points 5468

Dalvik est la machine virtuelle basée sur Java qui exécute les applications Android sur Android. Dalvik-cache est la zone de cache de la VM Dalvik, elle est créée lorsque la VM Dalvik optimise votre application pour son exécution.

Si vous le souhaitez, vous pouvez vous renseigner sur Internet sur les différences entre les codes d'opération des VM Dalvik et les codes d'opération d'une VM Java "normale".

0voto

user5065310 Points 11

Les caches Dalvik ne sont rien d'autre que la compilation temporaire du code d'application stocké sous forme d'exécutables. Comme ces derniers peuvent être compilés dynamiquement à partir du code d'application original qui se trouve en dehors du cache Dalvik, vous pouvez vider le cache Dalvik sans réelle pénalité.

0voto

Nosegear Points 11

Le cache Dalvik ne fait plus partie des versions modernes d'Android ; Android 4.4 KitKat a été le dernier à utiliser cette construction. Voir https://en.wikipedia.org/wiki/Dalvik_(logiciel) pour plus de détails.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X