Co to jest pamięć podręczna Dalvik?

27

Podczas instalowania niestandardowych pamięci ROM najbardziej zaleca się wyczyszczenie pamięci podręcznej Dalvik. Czym dokładnie jest pamięć podręczna Dalvik?

GollyJer
źródło

Odpowiedzi:

27

Pamięć podręczna Dalvik to zestaw zapisanych plików .dex. Plik .dex to w zasadzie skompilowana wersja kodu bajtowego aplikacji stworzonej dla maszyny wirtualnej Dalvik, na której działają aplikacje na Androida. Jest podobny do wirtualnej maszyny Java i ma zapisane pliki .class.

Matthew Read
źródło
Czy jest zatem normalne, że świeżo zainstalowana pamięć ROM z wyczyszczoną pamięcią podręczną Dalvik zajmuje dużo czasu przy pierwszym uruchomieniu? ponieważ ParanoidAndroid z pewnością nie spieszy się; pięć minut i wciąż rośnie.
badp 27.04.13
1
@badp Tak, moje pierwsze buty często były tak długie z różnymi ROMami. Nie dawałbym tego jednak zbyt długo, zanim zakładałbym, że coś jest nie tak.
Mateusz
4

Znaleziono bardzo wnikliwe informacje na temat dalvik-cachena stackoverflow z renomowanych źródeł (pracowników Google, którzy pracowali na platformie wirtualnej Dalvik maszynowego).

Poniżej znajduje się podsumowanie tego, więcej z perspektywy Użytkownika Androida w (miejmy nadzieję) prostych słowach.

Gdzie znajduje się dalvik-cache na moim urządzeniu z Androidem?

W typowym urządzeniu z Androidem istnieje katalog o nazwie dalvik-cache. Ponieważ Android jest oparty na systemie Linux, wykorzystuje strukturę systemu plików jądra systemu Linux. Dlatego ten katalog znajduje się w /datafolderze. Tak więc ścieżka dostępu do tej pamięci podręcznej Dalvik na urządzeniu z Androidem to/data/dalvik-cache

Do czego służy pamięć podręczna Dalvik?

Gdy użytkownik instaluje nową aplikację na Androidzie, Android dokonuje pewnych modyfikacji i optymalizacji dexpliku tej aplikacji (pliku zawierającego cały kod bajtowy dalvik dla aplikacji). Następnie buforuje wynikowy odexplik (zoptymalizowany dex) w /data/dalvik-cachekatalogu, aby nie musiał wykonywać procesu optymalizacji za każdym razem, gdy ładuje aplikację.

Co się stanie, jeśli wyczyszczę pamięć podręczną Dalvik?

Nie ma żadnego innego efektu niż zwiększenie czasu następnego ładowania aplikacji, ponieważ jest ona przebudowywana. Załadowanie aplikacji zajmie więcej czasu, ponieważ musi ona odbudować pamięć podręczną Dalvik. Dlatego dalvik-cachepodczas instalowania niestandardowych pamięci ROM można wyczyścić , ponieważ system i tak przebuduje go z nową partycją.

Dodatkowo, poczynając od Androida 4.4 (KitKat) , Google wprowadził nowy Android Runtime o nazwie ART, który ostatecznie zastąpi maszynę wirtualną Dalvik. Źródło

ART, który używa tego samego kodu bajtowego i .dexplików, kompiluje plik dex w natywny kod. Ten skompilowany kod jest teraz przechowywanydalvik-cache

AADAndroidEnthusiasts
źródło