Skip to main content

Dalvik-Cache leeren

Einleitung

Erstmal ein wenig zur Erklärung: Die Dalvik virtual machine ist eine „Java Virtual Machine“ und wurde speziell für die Android Plattform entworfen. Normalerweise habe diese Geräte wenig RAM, langsamen internen Flash-Speicher und verhalten sich allgemein wie uralte Desktopsysteme. Allerdings laufen sie unter Linux, was virtuellen Speicher, Prozesse und Threads und UID-basierte Sicherheitsmechanismen zur Verfügung stellt.

Um diese Nachteile etwas auszugleichen werden in der Dalvik virtual machine mehrere .class (Java-Programmierklassen) mit einem speziellen Programm in einer .dex-Datei zusammengefasst und einige Optimierungen bzgl. des Speicherbedarfs vorgenommen. Bei Android läuft jede Applikation in einer eigenen Dalvik VM.

Das Verzeichnis, in dem die .dex-Dateien abgelegt werden, heißt üblicherweise dalvik-cache und liegt unter /system/sd/dalvik-cache oder /data/dalvik-cache.

Cache leeren

Wenn man viel mit verschiedenen ROMs experimentiert oder allgemein das Handy etwas langsamer als gewohnt wirkt, kann es nötig sein, den Dalvik-Cache neu aufzubauen.

Zuerst muss das SDK installiert werden und ADB eingerichtet sein. Der Zugriff aufs Gerät muss natürlich möglich sein.

Jetzt das Handy rebooten und im Recovery-Mode starten (Home-Button und rote Taste gleichzeitig drücken). Die Recovery Console starten und mit ADB verbinden:

$ ./adb shell                                         
/ # mount -o rw /dev/block/mmcblk0p2 /system/sd
/ # rm -r /system/sd/dalvik-cache/*
/ # reboot

Weitergehende Infos für Programmierer und Leute, dies wirklich wissen wollen gibts hier und hier.