Что такое Dalvik и dalvik-кеш? - PullRequest
       13

Что такое Dalvik и dalvik-кеш?

72 голосов
/ 24 сентября 2011

Я знаю, что это может быть основным вопросом в Android. Но что такое Dalvik и dalvik-cache?

Ответы [ 3 ]

125 голосов
/ 24 сентября 2011

Dalvik - это виртуальная машина, используемая Android.Обычно это виртуальная машина Java, хотя это не совсем правильно.Он использует объектную модель, идентичную Java, и его модель памяти также почти эквивалентна.Но виртуальная машина dalvik - это виртуальная машина на основе регистров, в отличие от виртуальных машин Java, которые основаны на стеке.

Соответственно, она использует совершенно иной байт-код, чем Java.Однако Android SDK включает в себя инструмент dx для перевода байт-кода Java в байт-код dalvik, поэтому вы можете писать приложения для Android на Java.

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

good reference

2 голосов
/ 24 сентября 2011

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

В Интернете можно узнать больше о различиях между кодами операций Dalvik VM и "обычные "Java VM Op-коды, если хотите.

0 голосов
/ 30 июня 2015

Кэш-память Dalvik - это не что иное, как временная компиляция кода приложения, хранящегося в виде исполняемых файлов. Так как они могут быть скомпилированы динамически из исходного кода приложения, находящегося вне Dalvik Cache, вы можете очистить Dalvik Cache без каких-либо реальных штрафов.

...