Già prima dell’ annuncio ufficiale, si sapeva che KitKat fosse ottimizzato per lavorare nel miglior modo possibile negli smartphone di fascia bassa. Google spiega come è stato reso possibile.
Android 4.4 KitKat non è progettato per girare solamente su dispositivi performanti, ma anche su dispositivi con specifiche molto più modeste, al fine del cercare di ridurre la frammentazione che purtroppo flagella da tempo questo sistema operativo.
Il tallone d’ Achille di Android è sempre stato l’ utilizzo della memoria RAM: ora KitKat è in grado di girare egregiamente anche su dispositivi con 512 MB di RAM, quantitativo comune tra i terminali di fascia bassa attuali come Sony Xperia U o J, Huawei Ascend Y300 o il Vodafone Smart Mini.
Dave Burke , capo ingegnere della sezione Android, ci spiega il lavoro svolto per raggiungere questo traguardo.
A Project Butter, introdotto in Jelly Bean 4.1 l’ anno scorso e che tramite una serie di espedienti migliorava la fluidità della UI di Android (qui un video girato dalla stessa Google che mette a confronto con una videocamera capace di girare video in slow motion due Galaxy Nexus, uno con Ice Cream Sandwich e uno con Jelly Bean), è stato affiancato in KitKat 4.4 Project Svelte.
“Ci stavamo scherzando su quando la prima cosa che avevo cominciato fare era quella di lavorare sul Project Butter per rendere più fluido il sistema. Il fatto è, però, che questo aggiungeva peso. Così ho deciso di lavorare al Project Svelte per alleggerire il sistema, ed ora il mio contributo ad Android è fondamentalmente zero.”
Queste le prime parole di Burke per esprimere la nascita di Project Svelte: ma come si sono svolti i test?
“L’obiettivo di project Svelte era in sostanza di ridurre il consumo di memoria (RAM) per adattarlo ad un quantitativo disponibile pari a 512 MB. Il modo in cui lo abbiamo fatto, e che non abbiamo ancora svelato, è stato quello di prendere un Nexus 4 ed adattarlo per lavorare con soli 512 MB di RAM. Abbiamo adattato la risoluzione del display alla qHD, cioè 960×540 pixel, perchè questo è il genere di risoluzione che di solito si vede su smartphone entry-level. Abbiamo ridotto la CPU a poter utilizzare al massimo solo 2 core sui 4 disponibili, abbiamo inoltre ridotto la frequenza di clock ed altro ancora. Abbiamo letteralmente trasformato il Nexus 4 nel nostro smartphone predefinito per il test di Android 4.4. E’ stato difficile iniziare così.”
In poche parole, Google ha modificato un Nexus 4 in modo da renderlo un dispositivo di fascia bassa, e ha adattato il sistema al fine di renderlo capace di girare su tale hardware.
Il lavoro si è basato su 4 punti elementari:
- Ridurre l’ occupazione di RAM da parte del solo sistema Android;
- Ridurre l’ occupazione di RAM da parte delle applicazioni che girano su dispositivi Google Experience (Nexus);
- Individuare e risolvere i problemi di crash delle applicazioni che si verificavano in condizioni critiche;
- Fornire migliori strumenti per verificare il funzionamento delle app su Android, così da dare modo agli sviluppatori di verificare il comportamento delle app in memoria.
Sull’ ultimo punto, Burke si sofferma particolarmente, introducendo informazioni sui processi monitorabili in Android 4.4 KitKat. Se su un dispositivo con questa versione di Android ci si reca in Impostazioni>Processi, si può notare la voce “Statistiche sui processi”. A cosa serve?
“Non abbiamo introdotto la funzione per gli utenti finali ma, se ci si reca nelle Opzioni sviluppatore su un dispositivo con Android KitKat, si nota la presenza di ProcStats (Statistiche sui processi). E’ un qualcosa che fornisce statistiche sui processi. Fondamentalmente monitora differenti applicazioni e processi nel sistema ed osserva quanto spesso sono attivi, e fornisce il quantitativo di RAM che utilizzano in background. Calcola una sorta di punteggio in base al peso, e fa una classifica in base a quanto pesante è un processo o un’app, così puoi vedere quali applicazioni consumano molta RAM per molto tempo. Abbiamo trovato questa funzionalità molto utile sotto il punto di vista delle applicazioni Google. Spesso abbiamo costatato che alcune delle nostre applicazioni non erano efficienti in termini di memoria. I processi erano anche attivi in background 24 ore su 24, così abbiamo introdotto questo interessante tool per analizzarle e snellirle.”
Quindi, la nuova release di Android è stata minuziosamente studiata per rendere l’ intero sistema più snello e scattante, anche in condizioni non particolarmente favorevoli, per girare meglio anche su smartphone non performantissimi.
Tutti i nuovi smartphone entry level dovrebbero essere dotati di questa versione, che non dovrebbe appesantirli, visto che la pesantezza è stata scrupolosamente evitata.