Was ist Dalvik und Dalvik-Cache?

Lesezeit: 3 Minuten

Benutzer-Avatar
Android-Killer

Ich weiß, dass dies eine grundlegende Frage in Android sein kann. Aber was ist Dalvik und Dalvik-Cache?

Benutzer-Avatar
Jesus Freke

Dalvik ist die virtuelle Maschine, die von Android verwendet wird. Es wird allgemein als Java Virtual Machine angesehen, obwohl dies nicht ganz richtig ist. Es verwendet ein Objektmodell, das mit Java identisch ist, und sein Speichermodell ist ebenfalls nahezu äquivalent. Aber die Dalvik-VM ist eine registerbasierte VM, im Gegensatz zu Java-VMs, die Stack-basiert sind.

Dementsprechend verwendet es einen völlig anderen Bytecode als Java. Das Android SDK enthält jedoch die DX-Tool um Java-Bytecode in Dalvik-Bytecode zu übersetzen, weshalb Sie Android-Anwendungen in Java schreiben können.

Wenn du sagst “Dalvik Cache“, ich nehme an, du meinst die /data/dalvik-cache Verzeichnis, das auf typischen Android-Geräten zu finden ist. Wenn Sie eine Anwendung auf Android installieren, werden einige Änderungen und Optimierungen an der dex-Datei dieser Anwendung vorgenommen (die Datei, die den gesamten Dalvik-Bytecode für die Anwendung enthält). Anschließend speichert es den resultierenden Odex (optimierter dex) Datei in der /data/dalvik-cache Verzeichnis, sodass der Optimierungsprozess nicht jedes Mal durchgeführt werden muss, wenn eine Anwendung geladen wird.

gute referenz

  • Was ist, wenn ich diesen Dalvik-Cache lösche? Wird es irgendwelche Auswirkungen geben, außer dass die App einige Zeit zum Laden braucht, da sie ihren Dalvik-Cache neu erstellen muss?

    – Schwanand

    16. Januar 2012 um 12:58 Uhr

  • Richtig. Es gibt keine Auswirkung, außer dass die nächste Ladezeit erhöht wird, da es neu erstellt wird.

    – Jesus Freke

    16. Januar 2012 um 23:21 Uhr

  • Wie jemand zu einer anderen doppelten Frage gepostet hat, hier ist Ihr kostenloser Wiki-Link „Der Dalvik-Cache ist ein wesentlicher Bestandteil Ihres Android. Sie können hier mehr darüber lesen: en.wikipedia.org/wiki/Dalvik_%28software%29

    – qneill

    17. Mai 2013 um 15:10 Uhr


  • Warum hat Android Lollipop (Version 5) immer noch Dalvik-Cache, jetzt wo die VM ART ist? Einige Leute sagten mir, es sei aus Gründen der Kompatibilität, aber ich habe festgestellt, dass es viel Speicherplatz benötigt (ca. 900 MB).

    – Android-Entwickler

    18. Februar 2015 um 21:01 Uhr

  • Art kompiliert die dex-Datei in nativen Code. Dieser kompilierte Code wird jetzt im Dalvik-Cache mit Art.

    – Jesus Freke

    19. Februar 2015 um 0:23 Uhr

Dalvik ist die Java-basierte virtuelle Maschine, die Android-Apps auf Android ausführt. Dalvik-Cache ist der Cache-Bereich für Dalvik VM, er wird erstellt, wenn die Dalvik VM Ihre App für die Ausführung optimiert.

Wenn Sie möchten, können Sie im Internet mehr über die Unterschiede zwischen Dalvik-VM-Opcodes und “normalen” Java-VM-Opcodes nachschlagen.

Benutzer-Avatar
Benutzer5065310

Dalvik-Caches sind nichts anderes als die temporäre Kompilierung von Anwendungscode, der als ausführbare Dateien gespeichert wird. Da diese dynamisch aus dem ursprünglichen Anwendungscode außerhalb des Dalvik-Cache kompiliert werden können, können Sie den Dalvik-Cache ohne wirkliche Strafe löschen.

  • @AndroidKiller, das wären Bytecode- oder Binärbilder, je nach Vorhandensein von Dalvik oder ART. Keine grafischen Bilder.

    – Neil Steiner

    1. Oktober 2015 um 15:47 Uhr

Der Dalvik-Cache ist kein Bestandteil moderner Android-Versionen mehr; Android 4.4 KitKat machte sich zuletzt diese Konstruktion zunutze. Sehen https://en.wikipedia.org/wiki/Dalvik_(Software) für mehr Details.

1283150cookie-checkWas ist Dalvik und Dalvik-Cache?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy