Android Runtime

az Android futtatókörnyezete

Az Android Runtime (ART) az Android mobil operációs rendszer által használt alkalmazás-futtatókörnyezet. Az ART az Android által eredetileg processz-virtuális gépként használt Dalvikot cseréli le, ami az alkalmazás bájtkódját natív utasításokká fordítja, amiket aztán az eszköz futtatókörnyezete hajt végre.[1]

A Dalvik és ART architektúráinak összehasonlítása

A Dalvik működésétől eltérően, ami az Android 2.2 "Froyo" óta röpfordítást (just-in-time compilation) végez, tehát az alkalmazás minden indításakor lefordítja a bájtkódot,[2] az ART bevezeti az előre fordítás ahead-of-time (AOT) compilation gyakorlatát, amit az alkalmazás telepítésekor végez el. Az alkalmazás futtatásához szükséges összes fordítás mennyiségét lecsökkentve a mobileszköz processzorhasználata csökken, tehát az akkumulátor üzemideje megnövekedik. Ugyanakkor az Android Runtime fejlődést hoz a teljesítményben, a szemétgyűjtésben, az alkalmazások hibakeresésében és teljesítménymérésében (profilingjában).[1][3]

A visszamenőleges kompatibilitás fenntartása érdekében az ART ugyanazt a bájtkódformátumot használja, mint a Dalvik, APK fájlokon belüli standard .dex fájlokkal, ahol viszont az .odex fájlokat Executable and Linkable Format (ELF) futtatható fájlok helyettesítik. Miután az alkalmazást lefordítja az eszközön található dex2oat eszköz, attól kezdve a lefordított ELF fájl kerül csak futtatásra – ez megszünteti a röpfordítással kapcsolatos különböző plusz költségeket, cserébe az alkalmazás telepítésekor némi extra időt igényel, és az alkalmazások valamivel több tárterületet igényelnek a lefordított bájtkód tárolásához.[1][3]

Az ART technológiai előzetesként debütált az Android 4.4 "KitKat"[4][5] verzióban, és teljes körűen lecseréli a Dalvikot az Android 5.X "Lollipop"-ban.[6]

Kapcsolódó szócikkek

Jegyzetek

További információk