© Excellent backgrounds/Shutterstock.com
Technische Evolution der Plattform

Android wird andersARTig


In der Version 4.4 (KitKat) hat sich ein kleiner, unscheinbarer Eintrag in den Developer-Optionen eingeschlichen. „Laufzeit festlegen“ heißt es da in der deutschen Übersetzung. Darunter findet man zwei Optionen: „Dalvik verwenden“ und „ART verwenden“. Dahinter verbirgt sich nichts Geringeres als eine der größeren technischen Evolutionen der Android-Plattform: ART wird die Dalvik VM ablösen. Details dazu klären wir in diesem Artikel.

Android-Entwicklung: From Greenhorn zum Einsteiger in 60 Minuten

Die Dalvik VM begleitet uns Android-Entwickler schon von Anfang an. Sie entspricht in unserem Weltbild weitestgehend der bekannten Java Virtual Machine auf dem Desktop bzw. Server. Und bis auf wenige Details stimmt dieser Vergleich auch. Einfach gesagt wandelt die Dalvik VM unseren vorkompilierten, plattformunabhängigen Bytecode in nativen Maschinencode um und führt ihn aus. Seit der Android-Version 2.2 [1] verwendet die Dalvik VM dazu einen so genannten JIT-Kompiler (Kasten: „JIT vs. „AOT“). Allerdings hat sich danach relativ wenig an der VM-Implementierung getan, obwohl sie zu einer der wichtigsten Komponenten der Android-Plattform zählt. Immerhin sind große Teile des Android-Frameworks sowie der Großteil aller Apps in Java geschrieben. Mit ART steht uns in diesem zentralen Bereich eine große Änderung bevor, welche vor allem Vorteile für die Benutzer verspricht.

Was macht ART andersARTig?

Ein wichtiges Prinzip von Android ist die Plattform­unabhängigkeit der geschriebenen Apps. Mit Plattform meine ich vor allem die verschiedenen Prozessorarchitekturen (ARM, x86, MIPS etc.) aber auch die Android-Versionen. Was auf den ersten Blick trivial erscheint, ist in der Realität weder selbstverständlich (siehe iOS) noch einfach umzusetzen. Bisher löst die Dalvik VM dieses Problem über den zuvor beschriebenen Weg mithilfe eines JIT-Compilers. ART folgt einem alternativen Paradigma: Der Ahead-Of-Time-Kompilierung.

Dabei bleibt ART Bytecode-kompatibel zur Dalvik VM. Für den Entwickler sollte sich also nichts ändern, doch dazu später mehr. Um diese Kompatibilität zu gewährleisten, verwendet ART ein eigenes Werkzeug: „dex2oat“. Dieses Tool wird auf dem Gerät ausgeführt und konvertiert beim ersten Start einer Anwendung eine oder mehrere DEX-Dateien in ein OAT-Image. Dabei werden auch schon die benötigten VM-Startparameter mit angegeben. Scheinbar handelt es sich hier also nicht um ein weiteres Zwischenformat.

Dieser Schritt ist auch der Grund dafür, dass der erste Startvo...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang