ART, il componente "magico" che permette alle app di avviarsi sempre più velocemente

1 year ago 260

A pochi di noi interessa come funziona realmente Android. La terminologia è effettivamente riservata agli addetti ai lavori, e tutto sommato a noi preme che il nostro telefono sia veloce, anche nell'avvio delle app (ecco le migliori per fare videochiamate).

Ma ogni tanto Google rilascia degli aggiornamenti che ci spingono ad approfondire la questione, a rischio di sembrare troppo tecnici. È il caso di ART (Android RunTime), il software alla base di Android, in qualche misura il suo motore, che fornisce i servizi necessari all'esecuzione dei programmi. Introdotto con Android 5.0, ART ha sostituito Dalvik, la vecchia virtual machine basata su tecnologia JIT (just-in-time) che permetteva la compilazione delle app in tempo reale per eseguirle. Con ART, basato su tecnologia AOT (ahead-of-time), le app sono invece compilate interamente durante l'installazione e non durante l'esecuzione, il che si traduce in migliori prestazioni e gestione delle risorse (soprattutto con il miglioramento dell'hardware).

ART è lo stesso per tutti i dispositivi Android, ma c'è un problema: come permettere a tutti i telefoni aggiornamenti rapidi, indipendentemente da quelli forniti - spesso a rilento e per poco tempo - dai produttori? Ecco che sono stati introdotti gli aggiornamenti Google Play system, che consentono a Google di aggiornare i componenti importanti del sistema operativo come se fossero app del Play Store.

Da Android 12, ART viene aggiornato in questo modo, e anno dopo anno ha permesso la riduzione dei tempi di avvio delle app e l'introduzione delle ultime patch di sicurezza più velocemente. 

Ad esempio, con ART 13 le app si avviano fino al 30% più velocemente in alcuni dispositivi, come si vede dal grafico sottostante.

Ora la GrandeG ha annunciato tre importanti novità

La prima riguarda la modularizzazione di ART, che con Android 14 sarà più fine, permettendo una migliore possibilità di aggiornamenti. Nell'ultimo OS, infatti, Google ha "rifattorizzato l'interfaccia tra Package Manager, il servizio che determina come installare e aggiornare le app, e ART. Questo sposta il confine del sistema operativo dalla riga di comando ART dex2oat a un'interfaccia ben definita che consente ottimizzazioni future, come il controllo più fine sulla modalità di compilazione".

Questo ha richiesto l'introduzione di un nuovo stato per la compilazione delle app durante l'avvio, cosa che nei dispositivi più vecchi avviene al primo riavvio dopo l'aggiornamento, mentre in quelli più nuovi, che supportano l'Android Virtualization Framework, la compilazione avviene mentre il dispositivo è inattivo, in un'enclave chiamata Isolated Compilation - il che permette di risparmiare fino a 20 secondi nell'avvio.

La seconda novità riguarda il modulo ART APEX, un software complesso che contiene più API di qualsiasi altro modulo APEX. APEX (Android Pony EXpress ), è un formato contenitore introdotto in Android 10 e viene utilizzato nel flusso di installazione per i moduli di sistema di livello inferiore, in modo da facilitare gli aggiornamenti dei componenti di sistema che non si adattano al modello di applicazione Android standard.

ART APEX è molto importante in dispositivi che non ricevono più aggiornamenti principali e vista la complessità del sistema, dovuta a un compilatore di ART che consente di sfruttare al meglio l'hardware con istruzioni specifiche per il chipset e le molteplici versioni di Android a cui deve adattarsi, Google deve testarlo per tutte le API, o almeno questo è l'obiettivo prima del rilascio della prossima versione di ART.

Per questo motivo il processo è molto lungo, e Google descrive come vengano compilate ogni giorno 18 milioni di APK tramite test di compatibilità e benchmark di avvio, prestazioni e memoria su una varietà di dispositivi che replicano la variabilità dei dispositivi nel mondo reale, prima del rilascio del nuovo ART.

E arriviamo al prossimo ART, ART 14, che include il supporto OpenJDK 17 insieme a nuovi compilatori e ottimizzazioni di runtime che migliorano le prestazioni riducendo le dimensioni del codice.

ART 14 verrà rilasciato nei prossimi mesi, su tutti i dispositivi compatibili, tramite gli aggiornamenti del Google Play system e presto anche sui dispositivi con Android Go.

Read Entire Article