Hvad er Dalvik? Vi hører det ord blive smidt meget rundt på Internettet, når vi taler om Android og dets indre arbejde. Selvom der ikke er nogen let forklaring, vi kun kan give i nogle få afsnit, kan vi dække det grundlæggende og pege dig i den rigtige retning, hvis du har brug for at fodre din nørde side. På sine enkleste vilkår er Dalvik en virtuel maskine, der kører applikationer og kode skrevet i Java. En standard Java-kompilator forvandler kildekode (skrevet som tekstfiler) til Bytecode og kompileres derefter til en.dex-fil, som Dalvik VM kan læse og bruge. I det væsentlige konverteres klassefiler til.dex-filer (omtrent som en jarfil, hvis man bruger standard Java VM) og derefter læses og udføres af Dalvik Virtual Machine. Duplikatdata, der bruges i klassefiler, er kun inkluderet en gang i.dex-output, hvilket sparer plads og bruger mindre omkostninger. De eksekverbare filer kan ændres igen, når du installerer et program for at gøre tingene endnu mere optimerede til mobil. Ting som byte-ordreudveksling og sammenkobling af datastruktur og funktionsbiblioteker på linje gør filerne mindre og kører bedre på vores enheder. Dalvik VM blev skrevet fra firkant et med Android i tankerne.
Forvirret endnu? Må ikke føle dig dårlig, nørd programmeringsprat har som regel den effekt. Tænk på det på denne måde - når du bygger en Java-applikation til din computer, kører en Java Virtual Machine den kompilerede output af kildekoden. Dette er grunden til, at Java kører på næsten ethvert operativsystem. Dalvik er en mobiloptimeret version af en Java Virtual Machine, bygget med kode fra Apache Harmony-projektet, som er open source og kører bedre end en standard Java VM ville på vores begrænsede hardware, designet til at du kan køre mere end en forekomst af VM ad gangen - dvs. multitasking. Da Dalvik er open source, er den også blevet portet til andre operativsystemer, som den på BlackBerry PlayBook. Det er temmelig forbandet, temmelig forbandet cool, og Oracle (firmaet, der købte Java fra Sun) hader det.
Android bruger Dalvik, fordi mens licensen til standard Java Virtual Machine er GPL2 (gratis og open source), når den placeres i en mobilenhed og bruger Java Micro Edition, er den ikke det. Den store tvist mellem Google og Oracle er alt sammen baseret på Dalvik. Google hævder, at det blev skrevet i et "clean-room" -miljø uden brug af Oracle's kode, og Oracle er uenig i det. Vi hævder at vi ikke har nogen idé, vi er bare glade for, at det fungerer så godt som det gør.