Android 4.4. i ART (Android Runtime)

art

U svojoj petogodišnjoj povijesti, Android se drastično mijenjao. Te promjene su bile vizualne, ali su neke od njih uključivale i preinake same baze operacijskog sustava. Ipak, jedna konstanta koja prati Android od samog početka je Dalvik.

Što je Dalvik?


Za detaljno objašnjenje što je točno Dalvik bilo bi potrebno napisati jako puno teksta, no pojednostavljeno, možemo reći da je Dalvik softver koji pokreće aplikacije na uređajima koji su pokretani Android operacijskim sustavom. Većina aplikacija koje se mogu pronaći na Googleovom Playu pisane su u Java programskom jeziku. Standardni Java kompajler pretvara Java kod u bajtkod te u konačnici bajtkod konvertira u niz dex datoteka koje se mogu pokretati u Dalvik Virtual Machine. Dalvik Virtual Machine ili ako vam je draže – Dalvik Virtualna Mašina (VM u daljnjem tekstu) je jako slična Javinoj verziji VM koja se nalazi na PC računalima i koja pokreće aplikacije u jar formatu.



Dalvik VM je nastala iz open source projekta, nazvanog Harmony kojemu je bio cilj prenijeti Javinu VM na mobilne uređaje, uz mogućnosti pokretanja nekoliko paralelnih instanci, kako bi se omogućio multitasking, a to sve uz maksimalnu uštedu energije. Očito je da je projekt Harmony uspio te se Dalvik VM nalazi na svim Android uređajima, ali  s obzirom na otvorenost projekta svoje mjesto je pronašla i na drugim uređajima, kao što je npr. BlackBerry PlayBook.

Treba napomenuti da se veliki spor između Googlea i Oraclea (vlasnik Jave) u većini i odvijao oko Dalvika, čime je Oracle tvrdio da je Dalvik samo prekopirana Javina VM. Kao što je poznato, Google se na sudu uspio obraniti te je dokazao da Dalvik i VM nisu jedno te isto.

Virtualne mašine


Mnogim čitateljima će pojam Virtualne Mašine biti poznat i iz stolnih računala. Na primjer, pomoću nje korisnici Mac OS-a bez većih problema mogu instalirati Windows ili od Linuxa i pokretati u novom prozoru unutar Mac OS-a.

“Glavne prednosti ovih programa su u tome što fizički odvajaju operacijske sustave. Tako primjerice, ako se na Windows računalu pokrene Mac OS pomoću VM te ako se na Windowsima nalazi neki trojan, virus ili slično, ne postoji mogućnost da on prijeđe na Mac OS.

Druga prednost je i u mogućnosti izvršavanja aplikacija koje su pisane za arhitekturu koja se ne nalazi fizički na računalu. Tako npr. ARM uređaji mogu pokretati aplikacije pisane za Intel arhitekturu.

Kako to točno radi na Androidu?


Nakon što je aplikacija postavljena na Play Store, ona je samo djelomično kompajirana od strane developera. Pokretanjem same aplikacije, Android OS ponovno prikuplja sve podatke, kompajlira ih u bajtkod i smješta u RAM memoriju te program počinje izvođenje. U ovisnosti o brzini glavnog procesora uređaja, ovaj korak može trajati dulje ili kraće. No jedno je sigurno – svakim pokretanjem aplikacije ova radnja kompajliranja se ponavlja, obavljaju se nepotrebni procesorski ciklusi čime se troši baterija uređaja.

Google ovo ipak nije napravio bez razloga, već je ovaj način rada omogućavao izvođenje aplikacija na raznim verzijama hardvera i arhitektura.

No, počevši od Androida 4.4, Google je smislio novi način koji će omogućiti pokretanje aplikacija na širokom spektru uređaja te je ugradio novi način kompajliranja aplikacija u Androidu – nazvanog ART. ART, skraćenica od Android Runtime, ima temeljni način rada potpuno drugačiji od Dalvika. ART radi na način da se u procesu instalacije bajtkod kompajlira u strojni kod, čime se aplikacije pretvaraju u nativne.

Ovime se gubi potreba za pokretanjem VM čime se i vrijeme pokretanja aplikacija značajno smanjuje, kao i samo vrijeme izvršavanja pojedinih operacija unutar aplikacije.

NEXUS-5-1

Na Nexusu 5 koji dolazi s KitKatom, korisnici imaju mogućnost izbora između nove metode kompajliranja i starog Dalvika, uz Googleovu napomenu da novi način kompajliranja još uvijek smatra eksperimentalnim prikazom te jasno daje do znanja da može dovesti do nestabilnosti cijelog sustava.

Sudeći prema prvim benchmarkovima, ART na KitKatu omogućuje pokretanje aplikacija i dvostruko brže, uz vrijeme izvršavanja koje je također duplo kraće u odnosu na Dalvik.

Ovo ukratko znači da će većina zahtjevnijih aplikacija biti izvršena prije, čime će sustav duže biti u idle modu, a to će svakako odlično djelovati na vrijeme trajanja baterije. Kao direktnu posljedicu i većina će uređaja s četverojezgrenim procesorima rjeđe istovremeno koristiti sve jezgre što će kao i u prethodnom slučaju rezultirati puno rjeđom potrebom za punjačem.

A nedostaci?


Uvijek postoji i onaj "ali", no ipak drago nam je reći da u ovoj situaciji on nije previše značajan. Prvo što je negativno je da će nove aplikacije, kompajlirane ART metodom biti 10 do 20% veće u odnosu na Dalvik varijante. To znači da ako je aplikacija prilagođena za Dalvik bila velika 10 MB, za ART će njezina veličina doseći do 12 MB.

Razlog ovome je taj što je strojni kod veći od samog bajtkoda jer se svaki bajt bajtkoda prevodi u nekoliko instrukcija strojnog koda.

Druga negativna strana je u povećanju vremena potrebnog za instalaciju aplikacija. Za vrlo velik broj manjih aplikacija, nećete primijetiti razliku u vremenu instaliranja, no za neke veće ono će biti ponešto duže.

Ove dvije negativne stvari su svakako minorne, ako pogledamo koje prednosti Android korisnici mogu imati od ART-a. Fluidnost i dulje trajanje baterije u odnosu na nešto dulje vrijeme potrebno za instalaciju aplikacija i ponešto veći prostor potreban za njih je mala cijena za ove prednosti.

Čak i sam Google priznaje da je ART još uvijek eksperimentalna mogućnost te da mu je potrebno još dorada i optimizacija. Bez obzira na to, sama tehnologija nudi odlične mogućnosti, a kako će se one pokazati u praksi svakako možete čitati u nadolazećim testovima mobitela s Androidom 4.4. na našem portalu.