Dizionario

Cos’è la ART? – Android dalla A alla Z

Emanuele Cisotti -

Con Android 4.4 KitKat è stata introdotta la possibilità di utilizzare un’alternativa alla Dalvik Virtual Machine, chiamata ART, acronimo per AndroidRunTime. si tratta di un supporto ancora sperimentale, tant’è che non tutte le applicazioni funzionano se utilizzerete ART adesso: il suo inserimento è evidentemente rivolto a quegli sviluppatori che vogliano appunto testare la compatibilità e le performance delle proprie applicazioni, con quello che diventerà uno standard in una futura versione di Android.

LEGGI ANCHE: Cosa sono odex/deodex

La Dalvik utilizza un compilatore di tipo JIT (just in time), ovvero che interpreta l’applicazione al momento della sua esecuzione, inserendo poi le informazioni necessarie in un file di cache apposito chiamato Dalvik Executable (.dex), a sua volta affiancato da un altro file (.odex) che memorizza tali informazioni a fianco dell’apk dell’app stessa per un più veloce accesso futuro. ART usa invece un approccio diverso, chiamato AOT (ahead of time), compilandole in codice nativo al momento della loro installazione, e velocizzandone quindi l’esecuzione, dato che in pratica le app saranno “già pronte”.

Dal punto di vista dello sviluppatore non dovrebbe quindi cambiare nulla: le app continueranno sempre ad essere scritte nello stesso linguaggio, cambierà solo il modo in cui sarà il sistema ad interpretarle. Questo può comunque portare a delle possibili incompatibilità, ed è una delle ragioni per cui ART è stato introdotto come opzione in Android KitKat.

L’uso di ART dovrebbe, oltre ad aumentare le performance, ridurre anche il consumo di batteria, dato che l’app non verrà interpretata ad ogni sua esecuzione (anche se in realtà questo non avviene nemmeno nella Dalvik grazie all’impiego dei file .dex e .odex).

Il quadro generale è quindi molto ottimistico in materia, ma prima di gridare al miracolo sarà opportuno aspettare la versione definitiva di questa nuova e promettente runtime che, insieme al nuovo sistema di compilazione Gradle (ancora in fase di test, ne parleremo in un prossimo appuntamento), dovrebbe rendere i nostri dispositivi molto più prestanti e con lag meno frequenti.