- - Was ist ART und wie unterscheidet es sich von Dalvik Virtual Machine auf Android?

Was ist ART und wie unterscheidet es sich von Dalvik Virtual Machine auf Android?

In der Welt der Technologie, neue Terminologien undAbkürzungen sind nichts Neues, und manchmal taucht bei jeder neuen Version sogar bestehender Software ein neuer Begriff auf, den jeder zu verwenden und zu verstehen scheint. Das Problem für Anfänger und sogar viele Gelegenheitsanwender besteht jedoch darin, dass sie die Bedeutung der neuen Konnotation weder vollständig verstehen noch auf eigene Faust aus offiziellen Quellen herausfinden können, was in erster Linie darauf zurückzuführen ist, dass Entwickler nicht in der Lage sind, Ich bin sehr daran interessiert, viele solcher Terminologien und ihre technischen Details zu erklären. Bestenfalls werden Sie auf einen offiziellen Link verwiesen, der zwar eine Erklärung liefert, aber technisch so aussieht, dass es für einen Nicht-Techniker so gut wie nutzlos ist.

Wir bei AddictiveTips waren immer stolz darauftechnische Konzepte zu verfälschen und Antworten zu geben, die für den Gelegenheitsnutzer und den technischen Anfänger angenehm sind. Als Google sich entschied, ART mit Android 4.4 KitKat einzuführen, sahen wir dies als Gelegenheit, unseren Lesern die neue Laufzeitumgebung vorzustellen und allen zu helfen, zu verstehen, worum es bei all dem geht und wie sich die virtuelle Maschine von Dalvik davon unterscheidet ART wird gebaut, um zu ersetzen.

Was-ist-ART_vs-Dalvik-Android-Laufzeitumgebungen

Was ist eine Laufzeitumgebung?

Bevor wir die eigentliche Frage beantworten,Wir müssen verstehen, was eine Laufzeitumgebung eigentlich ist. Einfach ausgedrückt umfasst Runtime Softwareanweisungen, die ausgeführt werden, wenn Ihr Programm ausgeführt wird, auch wenn sie nicht unbedingt Teil des Codes dieser Software sind. Diese Anweisungen übersetzen im Wesentlichen den Code der Software in den Code, den der Computer ausführen kann. Daher erfordern alle Computersprachen eine Art Laufzeitumgebung, die den in dieser Sprache geschriebenen Code ordnungsgemäß ausführen kann.

Android nutzt eine virtuelle Maschine als seineLaufzeitumgebung, um die APK-Dateien auszuführen, die eine Android-Anwendung darstellen. Die Verwendung einer virtuellen Maschine bietet zwei Vorteile: Erstens ist der App-Code vom Kernbetriebssystem isoliert, sodass sichergestellt ist, dass im Falle eines Fehlers der Code in einer isolierten Umgebung enthalten ist und sich nicht auf das primäre Betriebssystem auswirkt. Zweitens ermöglicht es die Kompatibilität, dh auch wenn eine App auf einer anderen Plattform kompiliert wird (wie dies bei der Entwicklung mobiler Apps normalerweise der Fall ist), können sie auf der mobilen Plattform mithilfe der virtuellen Maschine ausgeführt werden .

Für Android die auf virtuellen Maschinen basierende LaufzeitDie bisher verwendete Umgebung ist als Dalvik Virtual Machine bekannt. Ich bin sicher, dass jeder, der sich jemals mit den Details des Betriebssystems befasst hat, mehr als vertraut ist.

Warum überhaupt eine virtuelle Maschine verwenden?

Das ist eigentlich der Punkt, den wir oben angesprochen haben. Virtuelle Maschinen sind langsam, das lässt sich nicht leugnen, aber sie bieten tatsächlich einige Vorteile, die sie zu einer bevorzugten Wahl machen.

  • Virtuelle Maschinen liefern eine isolierte Umgebungzur Code-Ausführung. Selbst wenn eine App einen schädlichen Code enthält, der das Kernbetriebssystem beschädigen kann, hat dies keine direkten Auswirkungen auf die Systemdateien. Auf diese Weise wird verhindert, dass das Kernbetriebssystem beschädigt wird. Der große Vorteil ist mehr Stabilität und Zuverlässigkeit für das Betriebssystem.
  • Die App-APKs, die über den Play Store bereitgestellt werden(oder eine andere Quelle) sind nicht kompilierte Anweisungen, deren Kompilierung Entwickler vor der Ausführung und Ausführung auf dem Gerät von der virtuellen Maschine abhängig machen. Dies bietet mehr Kompatibilität. Wenn der Entwickler bereits kompilierten Code bereitstellen sollte und dieser für einen Snapdragon-basierten Prozessor kompiliert wurde, wird er möglicherweise nicht ordnungsgemäß auf einem Tegra-Chip ausgeführt. Daher behebt diese Kompilierung auf dem Gerät dieses Problem.

Also, was ist Dalvik und was ist falsch daran?

Das ist doch die Frage, oder? Dalvik ist seit dem Start von Android im Jahr 2007 dabei und hat sich seitdem kaum verändert, abgesehen von dem in Android 2.2 Froyo eingeführten Ansatz der Just-In-Time-Kompilierung (JIT), bei dem Apps im Grunde genommen genau dann kompiliert werden, wenn sie aktuell sind gestartet oder wenn der Benutzer die erforderlichen Anweisungen bereitstellt. Dies ist nützlich und stellt eine Verbesserung gegenüber dem bisherigen herkömmlichen Interpreter-Ansatz dar, bei dem Code beim ersten Start der App zeilenweise kompiliert und ausgeführt wurde.

Dies liegt daran, dass das System zusammenziehen mussalle notwendigen Dateien, kompiliere die App und lade sie ins RAM. Solange sich die kompilierte App im RAM befindet, reagiert sie weiterhin schnell. Wenn Sie jedoch mehr Apps laden und der RAM-Speicher voll ist, wird die erste entladen und der gesamte Vorgang beginnt beim nächsten Start von vorn. Der Ansatz ist auf dem Papier sinnvoll und hat bis jetzt für die Plattform einwandfrei funktioniert. Ältere Geräte mit begrenztem RAM leiden jedoch am meisten, da der Lade- / Entladezyklus häufiger fortgesetzt wird und sich das System daher in Bezug auf die allgemeine Reaktionsfähigkeit langsam anfühlt. Hier kommt die neue virtuelle Maschine ART ins Spiel.

Was ist KUNST und wie verbessert sie die Dinge?

ART oder Android RunTime (ziemlich lahmer Name, ja,Wir wissen) ist eine neue experimentelle virtuelle Maschine, die Google mit Android 4.4 KitKat als Entwickleroption eingeführt hat (wobei Dalvik derzeit noch als Standard festgelegt ist). Der Hauptunterschied zwischen ART und Dalvik ist der Kompilierungsansatz, den beide verwenden - ART verwendet ein neues AOT-Konzept (AOT = Ahead-Of-Time) im Gegensatz zu Dalviks JIT, bei dem Apps im Wesentlichen vor dem Start kompiliert werden. Dies bedeutet, dass erstmalige Installationen länger dauern und Apps mehr Speicherplatz im internen Speicher belegen. Da die App jedoch nach der Installation vollständig kompiliert wird, werden die Startzeiten erheblich verkürzt. Da der Kompilierungsteil zum Zeitpunkt der Installation nur einmal erledigt wird, ist die Prozessorsteuer niedriger, was zu einer längeren Akkulaufzeit und einer besseren Gesamtleistung führt.

Dalvik Vs. ART - Vergleich

Lassen Sie uns einfach einen kurzen Vergleich der beiden virtuellen Maschinen durchführen, bevor wir fortfahren.

Dalvik

KUNST

Verwendet den Just-In-Time-Ansatz (JIT), der zu einem geringeren Speicherplatzverbrauch bei längeren Ladezeiten der Apps führtVerwendet den AOT-Ansatz (Ahead-Of-Time), bei dem Apps bei der Installation kompiliert werden, was zu schnelleren Ladezeiten und einer geringeren Prozessorauslastung führt
Der Cache baut sich mit der Zeit auf, sodass die Startzeiten kürzer sindDer Cache wird beim ersten Start erstellt, daher dauert der Neustart des Geräts erheblich länger
Funktioniert besser für niedrigere interne Speichergeräte, da weniger Speicherplatz belegt istVerbraucht viel mehr internen Speicherplatz, da zusätzlich zu den APKs kompilierte Apps gespeichert werden
Ist stabil und zeitgetestet - VM der Wahl für App-EntwicklerIst sehr experimentell und neu - noch nicht viel Unterstützung von App-Entwicklern

Sie sagen, KUNST ist experimentell ...

Ja, und im Moment ist es nur auf verfügbarGeräte mit Snapdragon-Chipsätzen und Android 4.4 KitKat. Sie haben die Möglichkeit, von den versteckten Entwickleroptionen von Dalvik zu ART zu wechseln, falls Sie dies wünschen. Sie werden jedoch darauf hingewiesen, dass einige Ihrer Apps möglicherweise nicht ordnungsgemäß funktionieren. Wenn in Dalvik bereits ein App-Cache erstellt wurde, kann der erste Neustart nach dem Wechsel bis zu einer halben Stunde dauern.

Google hat ART in erster Linie mit zur Verfügung gestelltKitKat, mit dem Entwickler herumspielen und den Grundstein für einen dauerhaften Wechsel in der Zukunft legen können. Und das bedeutet keineswegs, dass ART heute einsatzbereit ist. Es wird in der Zukunft sein, ist aber vorerst experimentell und für den Endbenutzer nicht alltagstauglich.

Die Vorteile von ART sind gemischtBerichte. Für die meisten Rezensenten bestehen die Testgeräte aus Quad-Core-Prozessoren mit über 2 GB RAM. Dies ist eine mehr als ausreichende Konfiguration, um die Geschwindigkeitsgewinne von ART wirklich zu beobachten. Dennoch berichten zufällige Benutzer von einem Anstieg der Geschwindigkeit um 50% und der Akkulaufzeit um mehr als 30%. Wieder andere behaupten, es sei nichts anderes als ein Placebo-Effekt.

Um ehrlich zu sein, kann nichts davor gesagt werdenwird für Massen verfügbar und verliert den experimentellen Tag. Daher werden wir diese Debatte für später aufheben. Was an dieser Stelle mit Sicherheit gesagt werden kann, ist, dass KUNST die Zukunft ist. Google wird die Kompilierung im Voraus durchführen, um iOS, das größte Gegenstück, wirklich zu erreichen, und ART wird den Weg ebnen. Egal wie albern der Name sein mag oder wie unvollständig er gerade ist, wir werden ART immer mehr sehen.

Bemerkungen