Dalvik VM (Virtual Machine) ist Googles Version einer Java-VM (auf der Apps ausgeführt werden). VMs halten Apps isoliert und unabhängig von tatsächlicher Hardware und anderen Apps. Damit dies funktioniert, muss Dalvik den so genannten Bytecode (der für virtuelle Maschinen entwickelt wurde) in systemeigenen Maschinencode konvertieren. Um den Leistungsverlust zu minimieren, den die Konvertierung von Bytecode in systemeigenen Code mit sich bringt, wird ein Prozess namens Just-In-Time-Kompilierung (JIT) ausgeführt, bei dem heißer, dh häufig verwendeter Bytecode in systemeigenen Code konvertiert wird. 1
ART (Android Runtime) ist ein Ersatz für Dalvik, das die AOT-Kompilierung (Ahead-Of-Time) verwendet. Dies bedeutet, dass Ihre Apps in einen betriebsbereiten Zustand versetzt werden, bevor Sie sie überhaupt starten. Dies geschieht normalerweise zum Zeitpunkt der App-Installation, wodurch der Start und die Verwendung der Apps viel schneller und reibungsloser erfolgen. Und da dies bedeutet, dass die Kompilierung nur einmal durchgeführt wird, sehen Sie möglicherweise auch eine längere Akkulaufzeit.
Wenn ART in Bezug auf Leistung und Akkulaufzeit besser ist, sollte ich es verwenden?
Nein . Wenn Sie das tun, können Sie Anwendungen von Drittanbietern brechen. Google hat diese ART-Vorschau mit Android 4.4 ausgeliefert, damit Entwickler ihre Apps darauf testen können.
Nebenbemerkung: Googles Ansatz bei ART besteht darin, iOS zu schlagen (iOS-Apps sind nativ und bieten eine bessere Leistung, selbst bei Low-End-Hardwarespezifikationen), aber ich weiß nicht, wohin sie führen ... Eine weitere Fragmentierung? Siehe OEMs können Geräte entweder mit einem oder beiden Geräten bauen . Die endgültige Version sollte zwar die meisten Apps nicht betreffen, aber es ist keine 100% plattformübergreifende Sache.
1 Beachten Sie, dass JIT in Android 2.2 zu Dalvik hinzugefügt wurde