Što je Dalvik? Čujemo kako se ova riječ prilično baca na Internet kada govorimo o Androidu i njegovom radu. Iako nema lakog objašnjenja koje možemo dati u samo nekoliko odlomaka, možemo opisati osnove i usmjeriti vas u pravom smjeru ako trebate nahraniti svoju nervoznu stranu. Najjednostavnije rečeno, Dalvik je virtualni stroj koji pokreće aplikacije i kod koji su napisani na Javi. Standardni Java prevoditelj pretvara izvorni kôd (napisan u obliku tekstualnih datoteka) u bajt kod, a zatim sastavlja u.dex datoteku koju Dalvik VM može čitati i koristiti. U osnovi se datoteke klase pretvaraju u.dex datoteke (slično kao jar datoteka, ako se koristi standardni Java VM), a zatim ih čita i izvršava Dalvik Virtual Machine. Duplikatni podaci koji se koriste u datotekama klase uključuju se samo jedanput u.dex izlaz, što štedi prostor i troši manje nadzemnih troškova. Izvršne datoteke mogu se ponovno izmijeniti kada instalirate aplikaciju kako bi se stvari još više optimizirale za mobilne uređaje. Postupci poput izmjene redoslijeda bajtova i povezivanja podataka i knjižnica funkcija u ugrađenom obliku čine datoteke manje i bolje se izvršavaju na našim uređajima. Dalvik VM napisan je iz četvrtog, na umu je Android.
Zbunjeni još? Nemojte se osjećati loše, geeky razgovori o programiranju obično imaju takav efekt. Razmislite na ovaj način - kada izgradite Java aplikaciju za svoje računalo, Java Virtual Machine pokreće sastavljeni izlaz izvornog koda. Zbog toga se Java izvodi na gotovo svim operativnim sustavima. Dalvik je mobilna verzija optimizirana za Java Virtual Machine, izgrađena s kodom iz projekta Apache Harmony, koji je otvorenog koda i radi bolje nego standardni Java VM na našem ograničenom hardveru, dizajniranom tako da možete pokrenuti više od jedne instanca VM-a odjednom - tj. više zadataka. Budući da je Dalvik otvorenog koda, prijenosan je i u druge operativne sustave, poput onog na BlackBerry PlayBook-u. Prilično je prokleto komplicirano, prilično prokleto cool, a Oracle (tvrtka koja je Java kupila od Sunca) mrzi ga.
Android koristi Dalvik jer iako je licenca za standardni Java Virtual Machine GPL2 (besplatni i s otvorenim kodom), kad se postavi na mobilni uređaj i koristi Java Micro Edition, to nije. Veliki spor između Googlea i Oracle-a sve se temelji na Dalviku. Google tvrdi da je napisano u okruženju "čiste sobe" bez upotrebe Oracleovog koda, a Oracle se ne slaže. Tvrdimo da nemamo pojma, drago nam je što to dobro radi.