Will Verduzco z XDA Developers si jako první všiml důležité novinky v kódu Android Open Source Project (1, 2). Vývojáři Androidu se v něm definitivně loučí s Dalvikem a vítají ART. Nové běhové prostředí zrychlí spouštění aplikací, zvýší výkon a prodlouží výdrž. Co za tímto kouzlem stojí?
Za všechno může komplikovanější tvorba androidovských aplikací. Vývojáři pracují s jazykem Java, který netvoří přímo spustitelné binární soubory, ale nejdříve vygeneruje tzv. bajtkód. Ten na strojový kód konkrétního zařízení převede až speciální běhové prostředí (runtime, virtuální stroj).
Podobný postup má tu výhodu, že vývojář tvoří jeden druh kódu, který bude moci beze změn spustit na různých platformách a architekturách. Na nich totiž kód nakonec zpracuje zmíněný virtuální stroj, který už pro danou architekturu upravený je. V Androidu je tím virtuálním strojem Dalvik.
Dalvik nicméně pracuje v režimu just-in-time (JIT), takže převod z bajtkódu musí být proveden při každém spuštění aplikace. To si žádá více výkonu a delší čas spuštění. Android 4.4 už ale obsahoval nové testovací běhové prostředí ART pracující v režimu ahead-of-time (AOT).
Aplikace předpřipravená v bajtkódu se pro koncové zařízení přeloží a optimalizuje ihned při instalaci. Po spuštění se už nic kompilovat nemusí, proto aplikace naskočí rychle. Instalace je ale kvůli tomu delší a samotné aplikace pak zaberou více prostoru. To je ale akceptovatelná daň.
Ne všechny aplikace si se současnou nedokončenou verzí ARTu rozumí a také výkon není vždy lepší, ale to můžou Google a spol. ve finálním softwaru vyřešit. Přesvědčíme se o tom možná už příští týden na konferenci I/O.