Qu'est-ce que le cache Dalvik?

27

Lors de l'installation de ROM personnalisées, la plupart recommandent de vider le cache Dalvik. Qu'est-ce que le cache Dalvik?

GollyJer
la source

Réponses:

27

Le cache Dalvik est l'ensemble des fichiers .dex enregistrés. Un fichier .dex est fondamentalement une version compilée en bytecode d'une application qui a été construite pour la machine virtuelle Dalvik sur laquelle les applications Android s'exécutent. Il est similaire à la machine virtuelle Java et ayant enregistré des fichiers .class.

Matthew Read
la source
Est-il donc normal qu'une ROM fraîchement installée avec un cache Dalvik effacé prenne du temps à démarrer la première fois? parce que ParanoidAndroid prend certainement son temps doux; cinq minutes et en comptant.
badp
1
@badp Oui, mes premières bottes étaient souvent aussi longues avec différentes ROM. Je ne lui donnerais pas trop de temps avant de supposer que quelque chose ne va pas.
Matthew Read
4

Trouvé très informations utiles sur dalvik-cacheà stackoverflow de sources réputées (les employés de Google qui ont travaillé sur la plate - forme de machine virtuelle Dalvik).

Ci-dessous est le résumé de celui-ci, plus du point de vue de l'utilisateur Android en (espérons-le) des mots simples.

Où se trouve dalvik-cache sur mon appareil Android?

Dans un appareil Android typique, il existe un répertoire nommé dalvik-cache. Comme Android est basé sur Linux, il utilise une structure de système de fichiers du noyau linux. Par conséquent, ce répertoire se trouve dans le /datadossier. Ainsi, le chemin d'accès à ce cache Dalvik sur un appareil Android est/data/dalvik-cache

Quel est le but du cache Dalvik?

Lorsqu'un utilisateur installe une nouvelle application sur Android, Android effectue certaines modifications et optimisations sur le dexfichier de cette application (le fichier qui contient tout le bytecode dalvik pour l'application). Il met ensuite en cache le odexfichier résultant (dex optimisé) dans le /data/dalvik-cacherépertoire, de sorte qu'il n'a pas à effectuer le processus d'optimisation à chaque fois qu'il charge une application.

Et si j'efface le cache Dalvik?

Il n'y a aucun effet, autre que l'augmentation du temps de chargement suivant d'une application, car elle est reconstruite. Une application prendra donc plus de temps à charger car elle doit reconstruire son cache Dalvik. Par conséquent, il est correct de l'effacer dalvik-cachelors de l'installation de ROM personnalisées, car le système le reconstruira de toute façon avec une nouvelle partition.

Sur une note supplémentaire, à partir d' Android 4.4 (KitKat) , Google a introduit un nouveau Runtime Android appelé ART qui va finalement remplacer la machine virtuelle Dalvik. La source

L'ART qui utilise le même bytecode et les .dexfichiers compile le fichier dex en code natif. Ce code compilé est ce qui est maintenant stocké dansdalvik-cache

AADAndroidEnthusiasts
la source