Új motort kapott a KitKat, feleződik az indulási idő
Az Android KitKat egyik legfontosabb újítása mélyen a motorháztető alatt, az alapértelmezett esetben elrejtett fejlesztői opciók között keresendő: míg az operációs rendszer eddigi verziói esetén egy úgynevezett Dalvik VM felelt a programkódok lefordításáért és futtatásáért, addig a KitKatben a Google kísérleti jelleggel bevezetett egy másik, ART névre keresztelt fordító is elérhető, amely az előzetes tesztek alapján komoly teljesítménybeli előnyöket mutat.
Leegyszerűsítve a dolgot az alkalmazások jelenleg úgy működnek, hogy a fejlesztő csupán félig-meddig állítja össze az appot, amely indítást követően átmegy egy fordíton, amely gép kóddá alakítja a JAVA kódot. Ezt minden alkalommal el kell végezni, ráadásul minden esetben létrejön egy-egy újabb Dalvik VM is. A folyamat nem túl erőforrás-barát, de lehetővé teszi, hogy számos architektúrán futtatható legyen ugyanaz a kód.
Ezzel szemben az ART az első telepítés során azonnal lefordítja a kódot gépi kóddá, ezáltal valódi natív alkalmazások jönnek létre. Az eredmény?
Az alkalmazások nagyjából kétszer gyorsabban indulnak, kevesebb erőforrást igényelnek, gyorsabban reagálnak, elméletben pedig az akkumulátort is kevésbé szívják le.
Sajnos minden jóban van valami rossz is, így az ART által kínált sebesség és kényelem némi áldozatot is követel: a telepítési idők egy árnyalatnyival hosszabbak lesznek, a frissítésekkor látott optimalizálási folyamat ideje megnő majd (mondjuk ez inkább a custom ROMot vagy kernelt használó embereket érinti), és az előre leforduló gép kód miatt egy-egy alkalmazás több tárhelyet igényel majd. De cserébe kvázi iPhone experience lesz elérhető Androidon és agyonoptimalizált kernelek nélkül is villámgyorsan futnak majd az alkalmazások.
Emellett a jelenlegi, AOSP alapú főzött ROMok esetén a használata gyakorlatilag kinyírja a Google alkalmazásokat, de ez megint csak nem érinti az átlagos felhasználót.
Az ART a fejlesztői opciók között aktiválható, ami a build number hétszeri megnyomásával hozható elő. Újraindítást igényel a bekapcsolása.