Android: ART ersetzt Dalvik und wird demnächst zur Default-Runtime

Die Laufzeitumgebung Dalvik, der bisherige Standard für Apps auf Android, wird allem Anschein nach mit der nächsten Hauptversion des mobilen Google-Betriebssystems in Rente geschickt. Stattdessen soll der Wechsel auf ART, das bereits auf Android ... mehr... Android, Chrome, Chrome Android, Android Chrome Bildquelle: 3dnews.ru Android, Chrome, Chrome Android, Android Chrome Android, Chrome, Chrome Android, Android Chrome 3dnews.ru

Diese Nachricht vollständig anzeigen.

Jetzt einen Kommentar schreiben
 
was heißt denn "der code wird vorkompiliert"? er wird also komplett kompiliert, oder wie? wieso wird die app dann nicht direkt kompiliert runtergeladen??
 
@Jas0nK: weil Maschinencode immer zur Maschine passen muss und es sehr viele unterschiedliche Systeme gibt auf den Android läuft. Vorkompiliert dürfte hier heißen das nicht direkt echter Maschinencode erzeugt wird sondern eine Art Zwischencode generiert wird. Ähnlich arbeitet z.B. auch das .NET Framework von Microsoft.
 
@Eistee: Afaik macht ART aus dem Dalvik Bytecode( Zwischencode ), nativen Code für das jeweilige Gerät/Platform, weil das kennt ja sowieso die Befehle in die es übersetzten muss. Imho ist jede Art von JustInTime-Compilierung sowieso nur ein Notbehelf für Sachen wie Emulation wo es aufgrund vom vorliegenden maschinen-code für die Platform eher anstrengend ist den Code zu decompilieren und für eine anderen Platform wieder zu compilieren. Edit: Das ganze geht bei .Net übrigens auch mit NGen Edit2: Bald lässt sich .Net Code wohl auch via VisualC++-Compiler-Backend in "nahezu echte" native Anwendungen compilieren :). Echt im Sinn von Stabilität und -Performance wie initial als native Anwendung entwickelt.
 
@Eistee: ...mit dem Unterschied, dass Microsoft bei Windows Phone diese Vorkompilierung in der Cloud vornimmt und daher die Downloads kleiner und Installationen schneller ablaufen. Frage mich, wieso Google das aufs Gerät auslagert...
 
@sibbl: Microsoft zertifiziert ja auch die CPUS/Platformen auf denen Windows Phone laufen soll, es ist also bekannt welche Plattformen vorhanden sind. Bei Android herscht aber wildwuchs und es wäre schwer alles abzudecken. Natürlich könnte man die Binaries für gängige Platformen vorkompiliert ausliefern.
 
@Jas0nK: Für den Endbenutzer ist das denke ich Wurst wo compiliert wird, die Installation dauert vielleicht länger und die Anwendung müsste theoretisch mehr platz brauchen. Google könnte auch Kompilat für jede erdenkliche Plattform bereitstellen und je nach dem mit welchem Gerät du etwas herunterlädst, bekommst du vom Store ein anderes Binary. Das hätte aber diverse Nachteile: Android Anwendungen außerhalb vom Store würden auf absurde Größen anwachsen wenn sie Anspruch auf Vollständigkeit legen, oder man müsste sich das richtige Binary aus einer relativ großen liste von prozessoren/Platformen raussuchen. Neue Platformen würden nicht sofort unterstützt etc. Andersrum: Jede Form von "runterladen von maschinencode-compilat" führt das Android-Java-VM-Prinziep Ad-Absurdum. Edit2: Habs eben mal ausprobiert, das installieren von App-Updates führt auch zur neu-Kompilierung, und zieht einiges an Leistung, das gerät wird kurzzeitig warm und frisst zwischen 3% und 4% Akku ( S800 / 2300mAh ) Das ist doch eher ungünstig wenn man unterwegs ist und der Store sich mangels sinnvollem Scheduling sich entschließt ein Update auf das Gerät zu schieben -> Autoupdate aus wenn nicht am Strom :/
 
@SiTHiS: Quatsch.Eistee liegt richtig.Kompilation ist CPU abhängig.
 
@Jas0nK: Ich weiß nicht was du mir sagen willst oder wo der Widerspruch liegen soll :P
 
@SiTHiS: der jetzige form von ART soll ja noch kein bisschen optimiert sein, auf dem Moto G läuft z.B. dalvik schneller als ART, das liegt einfach daran das die "jetzige" Version eher ein Kompatibilitätscheck ist als alles andere.
 
@CvH: Ah okay, gut zu Wissen :)
 
Ich wollte es heute mal auf meinem S3 ausprobieren, bis ich dann erfuhr, dass das xposed framework wohl nicht mit ART läuft. Weiß da jemand genaueres?
 
@Skidrow: xposed framework stellt automatisch wieder zurück auf dalvik. mit xposed ist art also im mom noch nicht möglich.
 
@GottNemesis: Ok, dank dir. Naja, ich hoffe dass die mitziehen werden. Aufs framework will ich auf keinen Fall verzichten, alleine schon wegen des wunderbaren youtube-Werbeblockers.
 
@Skidrow: AdFree tut auch seinen Dienst, auch ohne xposed. ;)
 
@blume666: Danke für den Tipp!
 
@blume666: Hab das mal getestet. Was mich stört ist, dass die Werbeflächen nicht verschwinden, sie sind zwar leer, aber noch da. Mit MinMinGuard verschwinden halt auch die Flächen. Und MinMinGuard ist sowieso ein Xposed Modul.
 
@Skidrow: Achso, ja. Das ist lustiger Weise von App-zu-App unterschiedlich. Bei einigen Apps werden die Webecontainer komplett gelöscht und bei anderen nur der Inhalt. Ich gehe mal davon aus dass einige Apps dem Container eine feste Größe zuschreiben und andere Skalieren die Werbung an sich und halten die Größe des Containers variabel.
 
@GottNemesis: Hat das mit dem S3 ansich zu tun oder mit der darauf laufenden Software/OS? Bin gerade auf Arbeit und mein S3 mit CM11 liegt zu Haus: Funktioniert die ART-Aktivierung unter CM11?
 
@MaikEF_: ART ist auf allen geräten mit android 4.4 in den entwickleroptionen aktivierbar. (soweit ich weiss). Xposed läuft aber nur auf Dalvik. Der Entwickler hat dass so vorgesehen und stellt automatisch wieder auf dalvik um. Wann eine ART Version kommen wird ist noch nicht abzusehen. Es wird aber daran gearbeitet. (Möglicherweise kann es noch länger dauern weil der Entwickler erst mal warten will wie ART in der finalen Version aussehen wird.)
 
@MaikEF_: ich hab schon von Leuten gehört, die ART einsetzen (S3, CM11) und begeistert sind. Es geht also auf jeden Fall. In den Entwickleroptionen.
 
Traurig ist, dass selbst aktuelle Releases noch ohne ART-Unterstützung heraus kommen.
So weist z.B. das gerade erst veröffentlichte Angry Birds Epic in der Beschreibung explizit darauf hin...
 
@Test9951: Das ist nicht unbedingt ein Fehler des Entwicklers, sondern ein Problem der Plattform, mit der entwickelt wird. Wir haben leider dasselbe Problem, dass die Entwicklungsumgebung das (bisher) nicht unterstützt.
 
Ich habe das Galaxy S5 und dieses ART habe ich als Option. Ich traue mich nicht, ART zu aktivieren. Hats jemand ausprobiert?
 
@oldbrandy: ich habe mich getraut. Macht Eindruck. Weil, ich benutze Navigon. Und läuft schön flüssig.
Kommentar abgeben Netiquette beachten!