Kjøremiljøet i Android, «runtimen» Dalvik, ble for alvor kjent da Google ble saksøkt for patent- og copyright-krenkelser av Oracle i 2010. Det var Dalvik det hele handlet om, komponenten som tolker og JIT-kompilerer (Just-In-Time) bytekode om til instruksjonssettet som Dalvik Virtual Machine kan kjøre.
Dalvik, som er oppkalt etter et sted på Island, er blant de eldste komponentene i Android. Det har skjedd optimaliseringen underveis, men JIT-kompilering har en kostnad i form av svekket ytelse som man ikke finner ved ferdigkompilert, systemspesifikk programvare. Fordelen med JIT-kompilering er flyttbarheten til programvaren. Den samme kode kan kjøre på tvers av ulike maskinvarearkitekturer.
Mens Android fram til for omtrent et år siden ble utviklet i et rasende tempo med mengder av nyheter i hver utgave, har tempoet i utviklingen av ny funksjonalitet tilsynelatende blitt noe svekket det siste året. Sannheten er nok heller at tiden har kommet til å revidere og finpusse det man allerede har gjort, for å se hva som kan forbedres. Android har blitt modent.
ART — Android Runtime
Det er her ART kommer inn. ART følger med Android 4.4 KitKat som en eksperimentell komponent, men kan på sikt bli etterfølgeren til Dalvik. Google omtaler så vidt ART på denne siden.
I Android 4.4 kan eventyrlystne brukere nå velge å la applikasjonene bli kjørt i ART i stedet for Dalvik. Men hva er så forskjellen?
Nettstedet Android Police omtaler ART i større detalj. Der fortelles det at ART ikke benytter JIT-kompilering i det hele tatt, men tar i stedet i bruk AOT-kompilering (Ahead-Of-Time). ART tar utgangspunkt i den samme bytekoden som Dalvik bruker i dag, men kompilerer den over til maskinspråk allerede i det applikasjonene installeres, slik at de da blir systemspesifikke. Dette reduserer ikke flyttbarheten til applikasjonen, men skal føre til betydelig bedre oppstartstid for applikasjonene, men også bedre ytelse under kjøringen.
Ifølge Android Police viser foreløpige tester at kjøretiden til prosesser med en viss varighet i mange tilfeller kan halveres. I praksis betyr dette mindre belastning på prosessoren, noe som frigjør den til å kunne gjøre andre oppgaver og dermed en mer jevn opptreden. Android har blitt kritisert for å kreve mer maskinvareressurser enn konkurrerende systemer for å kunne kjøre jevnt.
Men lavere belastning prosessoren betyr også forlenget batteritid.
Det er ifølge Android Police også noen ulemper med ART. For det første så vil det ta noe lenger tid å installere hver applikasjon, siden hver applikasjon blir kompilert under installasjonen. Spesielt første gang man tar i bruk ART, altså velger dette i Android 4.4 og starter enheten på nytt, så vil det kunne ta ganske lang tid før enheten er klar til bruk, dersom man fra før har mange applikasjoner installert. Android Police nevner noe sånt som ti minutter.
De ferdigkompilerte applikasjonene opptar også noe ekstra lagringsplass.
Google skriver selv at ART nå er inkludert i Android for å få tilbakemeldinger fra utviklere og partnere. Den er ikke ment for vanlige brukere. ART aktiveres derfor under utviklerinnstillingene i operativsystemet. Det gis ingen garanti om at alle applikasjoner eller alle Android-tilpasninger vil fungere med ART. Derfor må Dalvik fortsatt være satt som standard runtime på enheten, men man kan velge å starte opp mobilen med ART som runtime i stedet.
Leave a Reply