Dalvik Virtual Machine?

...komplette Frage anzeigen

1 Antwort

Die Dalvik Virtual Machine ist eine in Android integrierte Laufzeitumgebung (Just-in-Time-Compiler), die den Zwischencode (Bytecode), in den Android-Apps aus dem Quellcode (Java) übersetzt werden, ausführen kann, indem sie ihn zur Laufzeit in Maschinencode (z. B. für die ARM-Architektur) übersetzt.

Sie ist quasi Google's eigene Implementierung der Java Virtual Machine (JVM), verwendet aber einen eigenen Befehlssatz und eine andere Architektur (eine Registermaschine anstelle einer Stack-Maschine), als die Referenzimplementierung von Oracle, die den Namen Hotspot trägt.

Inzwischen gibt es mit der Android Runtime einen Nachfolger, der aber ähnlich funktioniert.

Also: Android-Apps werden in Java entwickelt und dann zu so genannten DEX-Dateien (Dalvik Executable) übersetzt (compiliert). Diese DEX-Dateien werden dann, zusammen mit Ressourcen, zu APK-Dateien (Android Package) zusammengefasst. Über diese APK-Dateien werden die Apps auf Android installiert. Wenn Du eine App ausführst, packt Android die APK-Datei aus, extrahiert die darin enthaltenen DEX-Dateien, übersetzt sie in Maschinencode für den ARM-Prozessor und führt diesen aus.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?