Що таке Дальвік? Ми чуємо, що це слово дуже багато кидається в Інтернеті, коли ми говоримо про Android та його внутрішню роботу. Хоча не існує простого пояснення, яке ми можемо дати лише в декількох абзацах, ми можемо висвітлити основи та вказати вас у правильному напрямку, якщо вам потрібно годувати свою нервову сторону. Простіше кажучи, Dalvik - це віртуальна машина, яка запускає програми та код, написані на Java. Стандартний компілятор Java перетворює вихідний код (записаний у вигляді текстових файлів) у байт-код, потім компілюється у.dex-файл, який DalM VM може читати та використовувати. Фактично, файли класів перетворюються у.dex файли (подібно до файлу jar, якщо використовувався стандартний Java VM), а потім читаються та виконуються віртуальною машиною Dalvik. Дублікати даних, що використовуються у файлах класу, включаються лише один раз у вихід.dex, що економить простір та використовує менше накладних витрат. Виконані файли можна знову змінити, коли ви встановите додаток, щоб зробити речі ще більш оптимізованими для мобільних пристроїв. Такі речі, як заміна порядку байтів та зв'язування структури даних та бібліотек функцій вбудовані, зменшують файли та працюють краще на наших пристроях. Dalvik VM був написаний з прямого квадрата, на увазі Android.
Плутати ще? Не відчувайте себе погано, прискіпливі розмови з програмування зазвичай мають такий ефект. Подумайте про це так - коли ви створюєте програму Java для свого комп'ютера, віртуальна машина Java запускає складений вихідний код вихідного коду. Ось чому Java працює майже на будь-якій операційній системі. Dalvik - це оптимізована для мобільних версій віртуальна машина Java, побудована з кодом проекту Apache Harmony, який працює з відкритим кодом та працює краще, ніж стандартний Java VM на нашому обмеженому апаратному забезпеченні, розробленому так, що ви можете запускати більше одного екземпляр VM за раз - тобто багатозадачність. Оскільки Dalvik є відкритим кодом, він також переноситься на інші операційні системи, наприклад, на BlackBerry PlayBook. Це досить чортово складно, досить чортово круто, і Oracle (компанія, яка купила Java від Sun) ненавидить це.
Android використовує Dalvik, оскільки, хоча ліцензія на стандартну віртуальну машину Java GPL2 (безкоштовна та з відкритим кодом), її розміщують у мобільному пристрої та використовують Java Micro Edition, але це не так. Велика суперечка між Google та Oracle ведеться навколо Далвіка. Google стверджує, що це було написано в середовищі "чистої кімнати", не використовуючи жодного коду Oracle, і Oracle не погоджується. Ми стверджуємо, що поняття не маємо, ми просто раді, що це працює так само добре, як це робиться.