Was ist Dalvik Cache?

27

Bei der Installation von benutzerdefinierten ROMs empfehlen die meisten, den Dalvik-Cache zu löschen. Was genau ist Dalvik Cache?

GollyJer
quelle

Antworten:

27

Der Dalvik-Cache besteht aus den gespeicherten .dex-Dateien. Eine .dex-Datei ist im Grunde eine kompilierte Bytecode-Version einer App, die für die Dalvik Virtual Machine erstellt wurde, auf der die Apps von Android ausgeführt werden. Es ähnelt der Java Virtual Machine und hat .class-Dateien gespeichert.

Matthew Read
quelle
Ist es daher normal, dass ein frisch installiertes ROM mit geleertem Dalvik-Cache lange dauert, bis es zum ersten Mal gestartet wird? weil ParanoidAndroid sicher seine süße Zeit nimmt; fünf Minuten und Zählen.
Badp
1
@badp Ja, meine ersten Stiefel waren oft so lang mit verschiedenen ROMs. Ich würde es nicht zu lange dauern, bis ich annehme, dass etwas nicht stimmt.
Matthew Read
4

Wir haben aus renommierten Quellen (Google-Mitarbeiter, die an der Dalvik-Plattform für virtuelle Maschinen gearbeitet haben) sehr aufschlussreiche Informationen zu dalvik-cachebei stackoverflow gefunden .

Unten finden Sie eine Zusammenfassung, mehr aus der Sicht des Android-Benutzers in (hoffentlich) einfachen Worten.

Wo befindet sich Dalvik-Cache auf meinem Android-Gerät?

In einem typischen Android-Gerät gibt es ein Verzeichnis mit dem Namen dalvik-cache. Da Android auf Linux basiert, wird eine Dateisystemstruktur des Linux-Kernels verwendet. Daher befindet sich dieses Verzeichnis im /dataOrdner. Der Pfad für den Zugriff auf diesen Dalvik-Cache auf dem Android-Gerät lautet also/data/dalvik-cache

Was ist der Zweck des Dalvik-Cache?

Wenn ein Benutzer eine neue Anwendung auf Android installiert, nimmt Android einige Änderungen und Optimierungen an der dexDatei dieser Anwendung vor (die Datei, die den gesamten Dalvik-Bytecode für die Anwendung enthält). Anschließend wird die resultierende odex(optimierte Dex-) Datei im /data/dalvik-cacheVerzeichnis zwischengespeichert, sodass der Optimierungsprozess nicht bei jedem Laden einer Anwendung ausgeführt werden muss.

Was ist, wenn ich den Dalvik-Cache lösche?

Es gibt keine anderen Auswirkungen, als die nächste Ladezeit einer App zu erhöhen, da diese neu erstellt wird. Das Laden einer Anwendung dauert länger, da der Dalvik-Cache neu erstellt werden muss. Daher ist es in Ordnung zu löschen, dalvik-cachewenn benutzerdefinierte ROMs installiert werden, da das System es ohnehin mit einer neuen Partition neu erstellt.

Zusätzlich führte Google ab Android 4.4 (KitKat) die neue Android Runtime mit dem Namen ART ein, die letztendlich die Dalvik Virtual-Maschine ersetzen wird. Quelle

Die ART, die denselben Bytecode und dieselben .dexDateien verwendet, kompiliert die Dex-Datei in nativen Code. Dieser kompilierte Code ist das, was jetzt gespeichert wirddalvik-cache

AADAndroidEnthusiasts
quelle