Android Runtime

Android Runtime (ART) ist eine Anwendungslaufzeitumgebung, die vom Android-Betriebssystem verwendet wird. ART ersetzt Dalvik, die ursprünglich von Android verwendete virtuelle Prozessmaschine, und übersetzt den Bytecode der Anwendung in native Anweisungen, die später von der Laufzeitumgebung des Geräts ausgeführt werden.

Android Laufzeit

Entwickler

Google

Repository

androide.googlesource.com/plattform / kunst/

Geschrieben in

C, C++

Betriebssystem

Android (Betriebssystem)

Webseite

source.android.com/devices/tech/dalvik/art.html Bearbeiten Sie dies auf Wikidata

Ein Vergleich von Dalvik und Kunstarchitekturen

Androide 2.2 „Froyo“ brachte die Trace-basierte Just-in-Time-Kompilierung (JIT) in Dalvik ein und optimierte die Ausführung von Anwendungen, indem Anwendungen bei jeder Ausführung kontinuierlich profiliert und häufig ausgeführte kurze Segmente ihres Bytecodes dynamisch in nativen Maschinencode kompiliert wurden. Während Dalvik den Rest des Bytecodes der Anwendung interpretiert, bietet die native Ausführung dieser kurzen Bytecodesegmente, die als „Traces“ bezeichnet werden, erhebliche Leistungsverbesserungen.

Im Gegensatz zu Dalvik führt ART die Verwendung der AOT-Kompilierung (Ahead-of-Time) ein, indem ganze Anwendungen bei ihrer Installation in nativen Maschinencode kompiliert werden. Durch die Eliminierung von Dalviks Interpretation und Trace-basierter JIT-Kompilierung verbessert ART die Gesamtausführungseffizienz und reduziert den Stromverbrauch, was zu einer verbesserten Batterieautonomie auf mobilen Geräten führt. Gleichzeitig bietet ART eine schnellere Ausführung von Anwendungen, verbesserte Speicherzuweisungs- und Garbage Collection-Mechanismen (GC), neue Funktionen zum Debuggen von Anwendungen und eine genauere Profilerstellung von Anwendungen auf hoher Ebene.

Um die Abwärtskompatibilität aufrechtzuerhalten, verwendet ART denselben Eingabe-Bytecode wie Dalvik, der über Standard bereitgestellt wird.dex-Dateien als Teil von APK-Dateien, während die .odex-Dateien werden durch ausführbare ELF-Dateien (Executable and Linkable Format) ersetzt. Sobald eine Anwendung mit dem dex2oat-Dienstprogramm von ART auf dem Gerät kompiliert wurde, wird sie ausschließlich über die kompilierte ELF-ausführbare Datei ausgeführt; als Ergebnis eliminiert ART verschiedene Anwendungsausführungs-Overheads, die mit Dalviks Interpretation und Trace-basierter JIT-Kompilierung verbunden sind. Als Nachteil erfordert ART zusätzliche Zeit für die Kompilierung, wenn eine Anwendung installiert wird, und Anwendungen benötigen etwas größere Mengen an Sekundärspeicher (normalerweise Flash-Speicher), um den kompilierten Code zu speichern.

Android 4.4 „KitKat“ brachte eine Technologievorschau von ART, einschließlich es als alternative Laufzeitumgebung und Dalvik als Standard-virtuelle Maschine zu halten. In der folgenden großen Android-Version, Android 5.0 „Lollipop“ wurde Dalvik vollständig durch ART.

Android 7.0 „Nougat“ hat seine Java-Laufzeitumgebung auf OpenJDK umgestellt und einen JIT-Compiler mit Code-Profiling für ART eingeführt, mit dem die Leistung von Android-Apps während der Ausführung ständig verbessert werden kann. Der JIT-Compiler ergänzt den aktuellen Ahead of Time-Compiler von ART und hilft, die Laufzeitleistung zu verbessern und Speicherplatz zu sparen, indem nur einige Teile der Apps kompiliert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.