Già dalla prossima versione di Android, Google potrebbe mettere da parte la “storica” macchina virtuale Dalvik sostituendola con ART (Android Runtime). Risultato? Performance migliori e maggiore durata della batteria.
La macchina virtuale Dalvik è stata oggetto di una lunghissima querelle legale fra Oracle e Google (Google sconfigge Oracle in materia di brevetti). Essa viene abitalmente utilizzata su Android per garantire il funzionamento delle app su quanti più dispositivi possibile.
Dalvik nasconde alle app la gestione della memoria e dei thread semplificando il riutilizzo dello stesso codice su hardware diversi e prevenendo problemi di incompatibilità. È infatti palese che funzionando in una macchina virtuale, dotata della medesima configurazione, lo stesso codice può lavorare senza problemi su dispositivi completamente differenti.
La virtual machine Dalvik si occupa di recuperare tutte le varie classi Java necessarie per il funzionamento di un’applicazione e di combinarle in uno o più file con estensione .dex (Dalvik Executables). Durante la generazione di tali elementi, le informazioni duplicate vengono riunite assieme in modo da ridurre drasticamente lo spazio necessario rispetto ai comuni file Java in formato .jar. Sebbene Dalvik sia spesso associato alla macchina virtuale Java, il bytecode con cui lavora non è Java.
Lo scotto che si paga adoperando Dalvik, comunque, ha a che fare essenzialmente con le prestazioni software.
Ecco perché Android 4.4 “KitKat” ha introdotto il supporto per Android Runtime (ART): il nuovo componente di Android non interpreta più il codice ad ogni singola esecuzione dello stesso, com fa Dalvik, ma solamente una volta, quando – ad esempio – un’applicazione viene installata sul dispositivo. In altre parole, il codice viene compilato sullo specifico device mobile che poi andrà ad eseguirlo velocizzando nettamente le prestazioni dell’applicazione.
Sino ad oggi attivabile in via sperimentale agendo sul menù riservato agli sviluppatori di Android 4.4, ART sembra adesso destinato a detronizzare Dalvik. Diverse modifiche apportate in questi giorni al codice sorgente di Android sembrano rappresentare un’evidente conferma dell’imminente abbandono di Dalvik in favore di ART, già dalla prossima release definitiva di Android.
Nonostante ART sia già stata impostata come runtime di default, è altamente improbabile che un cambiamento così importante venga introdotto nei prossimi aggiornamenti di Android “KitKat” (ad esempio, nella versione 4.4.5). È invece possibile che la nuova funzionalità venga ufficialmente introdotta in Android 4.5 oppure nella major release 5.0.
I primi risultati, comunque, sono più che incoraggianti: le app e la stessa interfaccia di Android possono godere di migliorie, in termini prestazionali, fino al 100% e – stando a quanto dichiarato dai tecnici di Mountain View – la release finale potrebbe evidenziare dati ancora più lusinghieri.