Android Runtime (ART) è l’ambiente di runtime utilizzato dal sistema operativo Android per eseguire le applicazioni. Come abbiamo visto nell’articolo incentrato sulla storia di Android, è l’evoluzione di Dalvik, macchina virtuale utilizzata nelle prime versioni del sistema operativo Google.
Introdotto con Android 4.4 KitKat, ART è diventata la piattaforma predefinita per il caricamento e l’esecuzione del codice delle app sui dispositivi mobili come smartphone e tablet a partire da Android 5.0 Lollipop.
Come funziona Android Runtime (ART)
Il principale obiettivo di ART consiste nel migliorare le prestazioni, l’efficienza e la reattività delle applicazioni, riducendo anche il consumo energetico. A differenza di Dalvik, che utilizzava il compilatore Just-In-Time (JIT) per convertire il codice bytecode in istruzioni eseguibili in tempo reale, ART utilizza un approccio di compilazione anticipata (Ahead-of-Time, AOT).
Prima di installare un’applicazione sul dispositivo, ART converte il bytecode delle app in codice nativo. Questo processo viene eseguito durante l’installazione dell’applicazione e non in fase di esecuzione, come faceva Dalvik con la compilazione Just-In-Time. Lo schema seguito da ART è vincente perché garantisce migliori performance: il codice nativo è infatti sempre pronto per l’esecuzione. Durante la compilazione anticipata, ART esegue anche ottimizzazioni del codice, come la rimozione di codice inutilizzato o la semplificazione delle strutture di controllo.
Dai tempi di Android 5.0, ART è rimasto il “motore” di Android, continuamente aggiornato dagli ingegneri Google di versione in versione.
ART supporta sia Java che Kotlin
ART è capace di gestire sia il codice Java che codice Kotlin su dispositivi Android. Entrambi questi linguaggi di programmazione sono supportati per lo sviluppo di applicazioni Android e possono essere eseguiti su ART senza problemi.
Java è il linguaggio storicamente utilizzato per lo sviluppo di applicazioni Android; Kotlin è un linguaggio di programmazione moderno che è stato introdotto come alternativa a Java. Quest’ultimo è ufficialmente supportato da Google come soluzione per la creazione di app Android a partire da maggio 2017. Kotlin è progettato per essere interamente interoperabile con il codice Java esistente e offre funzionalità aggiuntive che semplificano lo sviluppo e migliorano la sicurezza.
Entrambi i linguaggi, Java e Kotlin, possono essere compilati in bytecode che ART può eseguire direttamente. Quando si sviluppano applicazioni Android utilizzando Kotlin, il codice Kotlin viene convertito in bytecode compatibile con ART, proprio come avviene nel caso di Java.
Android Runtime diventa ancora più veloce ad avviare le applicazioni
A partire da Android 12, il motore ART può essere aggiornato dai tecnici Google attraverso update di sistema, distribuiti mediante l’infrastruttura Play Services. Così, Google ha annunciato che l’ultima versione distribuita agli utenti integra una piacevole novità ossia la possibilità di avviare le app Android fino al 30% più velocemente rispetto alla release precedente.
Gli aggiornamenti ART si traducono in tempi di avvio delle app più rapidi, in una più elevata velocità di esecuzione, migliore utilizzo della memoria e compilazione del bytecode più efficiente, oltre all’implementazione di varie correzioni di sicurezza. Con l’ultimo aggiornamento ART 13, le ottimizzazioni del runtime e del compilatore risultano evidenti in una vasta gamma di dispositivi mobili.
I tecnici di Google raccontano che il processo di test per gli aggiornamenti di ART prevede “la compilazione di oltre 18 milioni di APK e l’esecuzione di prove di compatibilità delle app e benchmark di avvio, prestazioni e memoria su una varietà di dispositivi Android che replicano il più fedelmente possibile la diversità dell’ecosistema“.
Le immagini sono di Google e sono tratte dall’annuncio pubblicato dalla società.