Was ist Dalvik? Wir hören, wie dieses Wort im Internet viel herumwirbelt, wenn wir über Android und sein inneres Funktionieren sprechen. Obwohl es keine einfache Erklärung gibt, die wir in ein paar Absätzen geben können, können wir die Grundlagen behandeln und Sie in die richtige Richtung weisen, wenn Sie Ihre Nerd-Seite füttern müssen. Im einfachsten Sinne ist Dalvik eine virtuelle Maschine, auf der in Java geschriebene Anwendungen und Code ausgeführt werden. Ein Standard-Java-Compiler wandelt Quellcode (als Textdateien geschrieben) in Bytecode um und kompiliert ihn dann in eine DEX-Datei, die von der Dalvik-VM gelesen und verwendet werden kann. Im Wesentlichen werden Klassendateien in DEX-Dateien konvertiert (ähnlich einer JAR-Datei, wenn Sie die Standard-Java-VM verwenden) und dann von der Dalvik Virtual Machine gelesen und ausgeführt. In Klassendateien verwendete doppelte Daten sind nur einmal in der.dex-Ausgabe enthalten, was Platz spart und weniger Overhead verbraucht. Die ausführbaren Dateien können erneut geändert werden, wenn Sie eine Anwendung installieren, um die Funktionen für Mobilgeräte noch weiter zu optimieren. Dinge wie das Austauschen der Bytereihenfolge und das Verknüpfen von Datenstruktur- und Funktionsbibliotheken inline machen die Dateien kleiner und laufen auf unseren Geräten besser. Die Dalvik VM wurde von Anfang an für Android geschrieben.
Noch verwirrt? Fühlen Sie sich nicht schlecht, geeky Programming Talk hat in der Regel diesen Effekt. Stellen Sie sich das so vor: Wenn Sie eine Java-Anwendung für Ihren Computer erstellen, führt eine Java Virtual Machine die kompilierte Ausgabe des Quellcodes aus. Aus diesem Grund läuft Java auf nahezu jedem Betriebssystem. Dalvik ist eine für Mobilgeräte optimierte Version einer Java Virtual Machine, die mit Code aus dem Apache Harmony-Projekt erstellt wurde. Dieser Code ist Open Source und läuft besser als eine Standard-Java-VM auf unserer eingeschränkten Hardware, sodass Sie mehr als eine ausführen können Instanz der VM auf einmal - dh Multitasking. Da Dalvik Open Source ist, wurde es auch auf andere Betriebssysteme wie das BlackBerry PlayBook portiert. Es ist verdammt kompliziert, verdammt cool und Oracle (die Firma, die Java von Sun gekauft hat) hasst es.
Android verwendet Dalvik, da die Lizenz für die standardmäßige Java Virtual Machine zwar GPL2 (kostenlos und Open Source) ist, auf einem mobilen Gerät und unter Verwendung der Java Micro Edition jedoch nicht. Der große Streit zwischen Google und Oracle dreht sich um Dalvik. Google behauptet, es sei in einer "Reinraum" -Umgebung ohne Verwendung von Oracle-Code geschrieben worden, und Oracle ist anderer Meinung. Wir behaupten, keine Ahnung zu haben, wir sind nur froh, dass es so gut funktioniert wie es funktioniert.