Was ist "ART"?

hotrats

hotrats

Dauergast
118
Mir ist beim querlesen eine App aufgefallen, die ich heruntergeladen und genutzt habe.
Diese heißt: "ART Checker". Hier kann man wohl testen, ob man Dalvik oder ART hat. Ich habe ART 2.1.0
Aber.. was ist das, was ist ART und worin unterscheidet es sich zu Dalvik?
Dies habe ich seit gestern, nachdem mein G5 das Update bekommen hat.

Ich danke euch!
 
..sagt mir dennoch nix.. das verstehe ich nicht..
 
Apps auf Android sind nicht nativ kompiliert, sondern werden zur Laufzeit interpretiert(abgearbeitet), wie z.B. auch Java oder VisualBasic. Art ist auch solch ein Interpreter, wie auch Galvik.
 
Zuletzt bearbeitet:
Stell dir Android als großes Hochhaus vor. In jedem Büro sind arbeiter, die nach einem gewissen Ablauf ihrer Arbeit nachgehen. Sie bekommen einen Auftrag (bei Android z.B. eine App) und wissen genau was sie zu tun haben. Diese Arbeiter arbeiten nach dem Dalvik Prinzip. Dalvik ist schon älter und für kleinere Arbeiten. Da neue Aufträge aber immer größer werden, müssen die Arbeiter immer wieder runter in den Keller, um neues Material zu holen (der Speicher).
Da Dalvik für heutige Hochhäuser (Smartphones) nicht mehr effizient ist, wurde ART eingeführt.

Wird nun ein neues Büro eingerichtet (eine neue App installiert), holen die Arbeiter zuerst alles aus dem Keller was sie brauchen. Außerdem bereiten sie schon gewisse Dinge vor, bevor die eigentliche Arbeit ankommt. Der Aufbau des Büros dauert somit etwas länger, dafür können die Arbeiten effizienter erledigt werden.

TL;DR: Du baust auch nicht jedes mal deinen PC ab, wenn du ihn am Abend nicht mehr brauchst.
 
  • Danke
Reaktionen: swat, cad und cptechnik
Sorry, @rudolf und @DEBRiS, aber Eure Antworten sind so nicht ganz korrekt bzw. führen in die Irre.
Richtig ist, dass Android Apps in der Programmiersprache Java geschrieben werden. Grund dafür ist die große Beliebtheit dieser Sprache bei Softwareentwicklern.
Java muss zum Ausführen einer App /Anwendung jedoch von einer sog. VM interpretiert werden. Das wiederum ist so, damit ein Java Programm nur einmal geschrieben werden muss und trotzdem auf jedem Computer direkt ausführbar ist (write once, run everywhere).
Diese eigentlich gute Idee führt jedoch zu einer höheren Prozessorauslastung während der Ausführung. Da die Prozessoren in Smartphones jedoch nicht so leistungsfähig sind, wie die von PCs bzw. Servern, kommt es zu spürbaren Leistungseinbußen gegenüber nativem Maschinencode.
Daher entschied sich Google mit Android 4.4 eine neue Runtime Engine anzubieten, eben ART.
Mit dieser wird der Java Bytecode also nicht mehr interpretiert, sondern beim ersten Start in Maschinencode übersetzt und dann direkt ausgeführt. Das hat also nix mit alt / modern, Hochhaus und Keller zu tun. [emoji6]
Daraus folgen zwei Dinge: 1. das Smartphone ist bei der Ausführung der App mit ART leistungsfähiger, 2. die übersetzte App funktioniert ohne Neukompilieren nicht auf anderen Hardwareplattformen ausführbar. Der zweite Punkt ist bei Android nicht relevant und damit bleibt nur der Vorteil übrig. [emoji6]
 
  • Danke
Reaktionen: DEBRiS
Das inzwischen auch in verschiedenen Abstufungen just in time compiliert wird ist klar, dasmgibt es sogar innintermediate als auch nativ. Nur wenn man jemand in wenigen Worten erklären will was dalvik und art ist bringt ein solcher Vortrag nichts. Daher ist was ich sagte sicher nicht vollständig, aber auch nicht falsch.
 
Zuletzt bearbeitet:
@mausbock
Klar, da hast du vollkommen recht. Ich habe versucht, das Prinzip möglichst untechnisch rüber zu bringen, da stimmt natürlich nicht alles Haargenau so ;)
 
  • Danke
Reaktionen: mausbock

Ähnliche Themen

M
Antworten
12
Aufrufe
620
Daichink
Daichink
E4_
Antworten
3
Aufrufe
129
Fembre
Fembre
say_hello
Antworten
2
Aufrufe
576
hagex
hagex
Zurück
Oben Unten