Android Runtime (ART) è il nuovo software runtime utilizzato dal sistema operativo mobile Android. ART sostituisce Dalvik, la vecchia virtual machine originariamente utilizzato da Android, ed esegue la trasformazione del codice dell’applicazione in istruzioni che vengono poi eseguite dal sistema runtime del dispositivo.
A differenza di Dalvik, che dalla versione Android 2.2 “Froyo” utilizza la tecnologia just-in-time (JIT) per compilare il codice ogni volta che un’applicazione viene avviata, ART introduce l’utilizzo della tecnologia ahead-of-time (AOT), compilando il codice al momento dell’installazione di un’applicazione. Per intenderci: con JIT, ogni app viene compilata solo in parte e ogni volta il software Dalvik esegue il codice e lo compila in modo definitivo ogni volta che l’app viene utilizzata.
Con ART, invece, si riduce la quantità complessiva di elaborazione che deve essere eseguita quando si apre un’applicazione, e l’utilizzo del processore di un dispositivo mobile, così che la batteria duri di più. Art utilizza i file .dex standard, come parte del file APK, mentre i file .odex sono sostituiti con Executable e Format Collegabile (ELF).
Una volta che l’applicazione è compilata utilizzando Art on-device dex2oat, questa è gestito esclusivamente dall’ELF compilato. Questo approccio elimina varie dispersioni generali che si verificano con la compilazione JIT, ma richiede più tempo per la compilazione quando si installa un’applicazione. Inoltre le applicazioni prendono quantità di spazio leggermente più grandi per memorizzare il codice compilato.
Un’anteprima tecnologia di ART ha debuttato come software runtime alternativo in Android 4.4 “KitKat”, mentre nella versione successiva di Android, Android 5.0 “Lollipop”, ha interamente sostituito.