Что такое кеш Dalvik?

27

При установке пользовательских ПЗУ наиболее рекомендую очистить кеш Dalvik. Что такое кеш Dalvik?

GollyJer
источник

Ответы:

27

Кеш Dalvik - это набор сохраненных файлов .dex. Файл .dex - это, по сути, версия скомпилированного байт-кода приложения, созданного для виртуальной машины Dalvik, на которой работают приложения Android. Это похоже на виртуальную машину Java и сохранение файлов .class.

Мэтью Рид
источник
Таким образом, это нормально для недавно установленного ПЗУ с очищенным кешем Dalvik, которое занимает много времени для загрузки в первый раз? потому что ParanoidAndroid точно не торопится; пять минут и считай.
Badp
1
@badp Да, мои первые ботинки часто были такими длинными с различными ПЗУ. Я не дал бы это слишком долго, прежде чем предположить, что что-то не так.
Мэтью Читал
4

Найдено очень проницательная информация о dalvik-cacheна StackOverflow из известных источников (сотрудников Google, которые работали на Dalvik виртуальной платформе машины).

Ниже приводится краткое изложение этого, больше с точки зрения пользователя Android (надеюсь) простыми словами.

Где в моем Android-устройстве находится dalvik-кеш?

В типичном устройстве Android есть каталог с именем dalvik-cache. Поскольку Android основан на Linux, он использует структуру файловой системы ядра Linux. Следовательно, этот каталог находится в /dataпапке. Таким образом, путь к этому кешу Dalvik на устройстве Android/data/dalvik-cache

Какова цель кеша Dalvik?

Когда пользователь устанавливает новое приложение на Android, Android выполняет некоторые модификации и оптимизации для dexфайла этого приложения (файла, который содержит весь байт-код dalvik для приложения). Затем он кэширует полученный odex(оптимизированный dex) файл в /data/dalvik-cacheкаталоге, чтобы ему не приходилось выполнять процесс оптимизации каждый раз при загрузке приложения.

Что если я очистлю Dalvik Cache?

Нет никакого эффекта, кроме увеличения времени следующей загрузки приложения, так как оно перестраивается. Таким образом, для загрузки приложения потребуется больше времени, поскольку для его восстановления требуется Dalvik Cache. Следовательно, его можно очистить dalvik-cacheпри установке пользовательских ПЗУ, поскольку система в любом случае перестроит его с новым разделом.

Кроме того, начиная с Android 4.4 (KitKat) , Google представила новую Android Runtime под названием ART, которая в конечном итоге заменит виртуальную машину Dalvik. Источник

ART, который использует тот же байт-код и .dexфайлы, компилирует файл dex в собственный код. Этот скомпилированный код является тем, что сейчас хранится вdalvik-cache

AADAndroidEnthusiasts
источник