ZG Droid

Malo o mobitelima, tabletima, Androidu, iOS-u…

ART, korisno a ne košta

Runtime selectionKad se ART pojavio u Jelly Beanu, najavljen je bio kao zamjena za tad već prastari Dalvik Virtual Engine. Za one koji ne znaju, Dalvik omogućava izvršavanje Java kôda na nativno Linux platformi, prevodeći sve instrukcije na računalu shvatljiv način (da, računalu, jer Vaš pametni telefon nije ništa drugo nego minijaturno računalo s dodirnim ekranom i virtualnom tipkovniocom). ART je u prijevodu Android RunTime. Mnogo aplikacija, koje su naravno pisane za Dalvik, nisu radile ispravno s ART-om, pa mnogi, uključujući i mene, nisu niti pomišljali na ART.

CyanogenMod naravno ima i Dalvik i ART, no Dalvik je još uvijek postavljen kao uobičajena opcija. Tek nedavnom najavom Androida L objavljeno je i da će ART biti jedini runtime. Time su developeri prisiljeni napraviti svoje aplikacije kompatibilnima s ART-om, u nadi da će njihove aplikacije i dalje biti korištene.  No koje su prednosti ART-a nad Dalvikom?

Za početak, ART i Dalvik su prilično različiti. ART pojednostavljeno rečeno rekompilira kôd aplikacije za Vaš uređaj, dok ga Dalvik samo izvršava. Naravno da je ovo samo vrlo pojednostavljeno objašnjenje, i hrpa funkcija i nebrojeno linija kôda novog runtimea stoji iza ovoga, i iako nije riječ o pravom rekompiliranju, da ne kompliciram previše, koristit ću baš taj izraz.

Tim rekompiliranjem aplikacijskog kôda ART postavlja aplikaciju u najbolje moguće okruženje – radi je za baš taj uređaj na kojem se aplikacija izvršava. Android uređaja ima môre, i nije jednostavno ni lako napraviti aplikaciju koja bi se na svim uređajima izvršavala jednako. Dalvik se za to nije brinuo – kakav je kôd dobio, takav je izvršio, bez obzira je li hardver prejak, primjeren ili preslab za izvršavanje tog kôda. Naravno, u prva dva slučaja, to nije nikakav problem, no često se događalo da su uređaji preslabi za određenu aplikaciju, ili neki njezin dio. Tu nastaju problemi koji se najviše očituju u sporosti uređaja, lagovima, rušenja aplikacije, a najčešće u povećanoj potrošnji baterije. ART, s druge strane, pripremi kôd baš za taj uređaj, i time aplikacija radi optimalno – na platformi za koju je “kompilirana” čime ne guši procesor, ne troši resurse bez potrebe i time štedi bateriju. Ukratko, ART ekonomičnije iskorištava resurse uređaja nego što je to bio slučaj s Dalvikom.

Neke aplikacije, na koje sam prilično navikao, nisu radile ili čak još uvijek ne rade s ART-om. Jedna od njih je Xposed framework, aplikacija ili bolje rečeno dodatak za sustav koji omogućava modificiranje sustava uređaja bez potrebe za programiranjem, flashanjem, ili sličnim akcijama, uz pomoć unaprijed napravljenih aplikacija. Upravo taj Xposed framework je bio veliki razlog što sam se na ART odlučio tek sad, kad sam u glavi posložio da bez nekih dodataka ipak mogu uz malo navikavanja. I iskreno, prelazak na ART, čak i na KitKatu, izgleda kao dobitak. Sve je fluidnije, aplikacije se otvaraju vidno brže, manje se rušenja događa, a jedina je “mana” što instaliranje aplikacija traje par sekundi duže.

Uz to, smanjio se footprint aplikacija, pa je zauzeće na internoj memoriji nešto manje – iako nije riječ o drastičnim razlikama, 200-300 kB po aplikaciji na mojih 100-injak aplikacija nije malo. A i baterija je, s istim postavkama sustava (osim runtimea, naravno) i istim kernelom, bolja, manje se troši – koristeći Dalvik, prosječna potrošnja u stanju mirovanja je bila 3,5-4% po satu, dok se sad spustila na 2-2,5% po satu – s uključenim WiFi-jem, syncovima ali i istim hiberniranim aplikacijama. Sve u svemu, do sad nisam našao veće mane ART-a, pa ostajem na istom – a nadam se da će i Xposed framework, najveća mana ART-a, uskoro biti uređena za njega.

Oglasi

Single Post Navigation

Komentiraj

Popunite niže tražene podatke ili kliknite na neku od ikona za prijavu:

WordPress.com Logo

Ovaj komentar pišete koristeći vaš WordPress.com račun. Odjava / Izmijeni )

Twitter picture

Ovaj komentar pišete koristeći vaš Twitter račun. Odjava / Izmijeni )

Facebook slika

Ovaj komentar pišete koristeći vaš Facebook račun. Odjava / Izmijeni )

Google+ photo

Ovaj komentar pišete koristeći vaš Google+ račun. Odjava / Izmijeni )

Spajanje na %s