Čo je Dalvik? Keď hovoríme o systéme Android a jeho vnútorných funkciách, toto slovo sa na internete veľa hádže. Aj keď neexistuje jednoduché vysvetlenie, ktoré by sme mohli uviesť len v niekoľkých odsekoch, môžeme pokryť základy a nasmerovať vás správnym smerom, ak potrebujete nasmerovať svoju hlúpu stranu. Najjednoduchšie je Dalvik virtuálny stroj, ktorý spúšťa aplikácie a kód napísaný v jazyku Java. Štandardný kompilátor Java premení zdrojový kód (napísaný ako textové súbory) na Bytecode a potom zostaví do súboru.dex, ktorý môže Dalvik VM čítať a používať. Súbory triedy sa v podstate prevádzajú na súbory.dex (podobne ako súbor jar, ak jeden používal štandardný Java VM) a potom ich prečítal a vykonal Dalvik Virtual Machine. Duplicitné údaje použité v súboroch triedy sú súčasťou výstupu.dex iba raz, čo šetrí miesto a spotrebuje menej režijných nákladov. Spustiteľné súbory môžete po inštalácii aplikácie znova upraviť, aby sa veci ešte optimalizovali pre mobil. Veci, ako napríklad výmena poradia bajtov a prepojenie dátovej štruktúry a funkčných knižníc inline, zmenšujú súbory a fungujú lepšie na našich zariadeniach. Dalvik VM bol napísaný od prvého bloku s ohľadom na Android.
Už ste zmätení? Necítite sa zle, podivínsky hovoriaci o programovaní má zvyčajne ten efekt. Rozmýšľajte o tom týmto spôsobom - pri vytváraní aplikácie Java pre váš počítač spustí Java Virtual Machine kompilovaný výstup zdrojového kódu. To je dôvod, prečo Java beží takmer na akomkoľvek operačnom systéme. Dalvik je mobilne optimalizovaná verzia Java Virtual Machine, postavená s kódom z projektu Apache Harmony, ktorý je open-source a beží lepšie ako štandardný Java VM na našom obmedzenom hardvéri, navrhnutý tak, aby ste mohli prevádzkovať viac ako jeden inštancia VM súčasne - tj multitasking. Pretože Dalvik je open-source, preniesol sa aj do iných operačných systémov, ako je napríklad systém na BlackBerry PlayBook. Je to dosť sakramentsky komplikované, sakra v pohode a Oracle (spoločnosť, ktorá si kúpila Javu od spoločnosti Sun) ju nenávidí.
Android používa Dalvik, pretože zatiaľ čo licencia pre štandardný Java Virtual Machine je GPL2 (bezplatný a otvorený zdroj), keď je umiestnená v mobilnom zariadení a používa Java Micro Edition, nie je. Veľký spor medzi spoločnosťami Google a Oracle je založený na spoločnosti Dalvik. Google tvrdí, že bol napísaný v prostredí „čistej miestnosti“ bez použitia kódu Oracle a spoločnosť Oracle nesúhlasí. Tvrdíme, že nemáme tušenie, sme radi, že to funguje rovnako dobre.