Wat is Dalvik? We horen dat woord veel op internet rondgooien als we het hebben over Android en zijn innerlijke werking. Hoewel er geen eenvoudige uitleg is die we in een paar alinea's kunnen geven, kunnen we de basisbeginselen behandelen en je in de juiste richting wijzen als je je nerdly-kant wilt voeden. In zijn eenvoudigste bewoordingen is Dalvik een virtuele machine die applicaties en code uitvoert die zijn geschreven in Java. Een standaard Java-compiler zet broncode (geschreven als tekstbestanden) om in Bytecode en wordt vervolgens gecompileerd in een.dex-bestand dat de Dalvik VM kan lezen en gebruiken. In essentie worden klassebestanden geconverteerd naar.dex-bestanden (net als een jar-bestand als men de standaard Java VM gebruikt) en vervolgens gelezen en uitgevoerd door de Dalvik Virtual Machine. Dubbele gegevens die in klassebestanden worden gebruikt, worden slechts één keer opgenomen in de.dex-uitvoer, wat ruimte bespaart en minder overhead verbruikt. De uitvoerbare bestanden kunnen opnieuw worden gewijzigd wanneer u een applicatie installeert om dingen nog meer geoptimaliseerd voor mobiel te maken. Dingen zoals byte-orderwisseling en het koppelen van gegevensstructuur en functiebibliotheken inline maken de bestanden kleiner en werken beter op onze apparaten. De Dalvik VM is geschreven vanaf vierkant met Android in gedachten.
Al in de war? Voel je niet slecht, geeky programmeergesprekken hebben meestal dat effect. Zie het op deze manier - wanneer u een Java-toepassing voor uw computer bouwt, voert een Java Virtual Machine de gecompileerde uitvoer van de broncode uit. Dit is de reden waarom Java op vrijwel elk besturingssysteem draait. Dalvik is een voor mobiele apparaten geoptimaliseerde versie van een Java Virtual Machine, gebouwd met code van het Apache Harmony-project, dat open-source is en beter werkt dan een standaard Java VM op onze beperkte hardware, ontworpen zodat u meer dan één kunt uitvoeren instantie van de VM tegelijk - dat wil zeggen multitasking. Omdat Dalvik open-source is, is het ook overgedragen naar andere besturingssystemen, zoals die op de BlackBerry PlayBook. Het is verdomd ingewikkeld, best verdomd cool en Oracle (het bedrijf dat Java van Sun heeft gekocht) haat het.
Android gebruikt Dalvik, want hoewel de licentie voor de standaard Java Virtual Machine GPL2 (gratis en open-source) is, is dit niet het geval wanneer deze op een mobiel apparaat wordt geplaatst en de Java Micro Edition wordt gebruikt. Het grote geschil tussen Google en Oracle is allemaal gebaseerd op Dalvik. Google beweert dat het is geschreven in een "cleanroom" -omgeving zonder enige code van Oracle te gebruiken, en Oracle is het daar niet mee eens. We beweren geen idee te hebben, we zijn gewoon blij dat het zo goed werkt als het doet.