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

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

Ответы (2)

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

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

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

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

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

В типичном устройстве 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 под названием ART , которая в конечном итоге заменит виртуальную машину Dalvik. Источник

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