Я знаю, що це може бути основним питанням в Android. Але що таке Dalvik і dalvik-cache?
Я знаю, що це може бути основним питанням в Android. Але що таке Dalvik і dalvik-cache?
Відповіді:
Dalvik - це віртуальна машина, яка використовується Android. Зазвичай його вважають віртуальною машиною Java, хоча це не зовсім правильно. Він використовує об'єктну модель, ідентичну Java, і модель пам'яті також майже еквівалентна. Але віртуальна машина dalvik - це віртуальна машина на основі реєстру, на відміну від віртуальних машин Java, які базуються на стеку.
Відповідно, він використовує зовсім інший байт-код, ніж Java. Однак Android SDK включає інструмент dx для перекладу байт-коду Java в байт-код dalvik, саме тому ви можете писати програми для Android на Java.
Коли ви говорите " dalvik-cache ", я припускаю, що ви маєте на увазі каталог / data / dalvik-cache, який можна знайти на типових пристроях Android. Коли ви встановлюєте програму на Android, вона виконує деякі модифікації та оптимізацію файлу dex цієї програми (файл, що містить усі байт-коди dalvik для програми). Потім він кешує отриманий файл odex ( оптимізований dex ) в каталозі / data / dalvik-cache , так що йому не потрібно виконувати процес оптимізації кожного разу, коли він завантажує додаток.
Dalvik - це віртуальна машина на основі Java, яка запускає програми для Android на Android. Dalvik-cache - це область кешування для VM Dalvik, вона створюється, коли VM Dalvik оптимізує вашу програму для роботи.
Ви можете більше дізнатись в Інтернеті про різницю між кодами операційних кодів Dalvik VM та "звичайними" кодами Java VM, якщо хочете.
Кеш-пам’ятки Dalvik - це не що інше, як тимчасова компіляція коду програми, яка зберігається як виконувані файли. Оскільки їх можна динамічно компілювати з вихідного коду програми, що знаходиться поза кешем Dalvik, ви можете очистити кеш Dalvik без будь-яких реальних штрафних санкцій.
Кеш-пам'ять Dalvik більше не є частиною сучасних версій Android; Android 4.4 KitKat останнім скористався цією конструкцією. Детальніше див. Https://en.wikipedia.org/wiki/Dalvik_(software) .