Google ha rilasciato il 4 ottobre 2021 la prima versione stabile AOSP (Android Open Source Project) di Android 12, la più recente iterazione del suo sistema operativo per dispositivi mobile. Dopo l’annuncio lo scorso febbraio e il rilascio delle preview per gli sviluppatori e delle build beta per dispositivi selezionati, Android 12 è ora ufficiale. Arriverà, come da tradizione, prima sui telefoni Pixel di Google nel corso delle prossime settimane tramite aggiornamento gratuito, successivamente arriverà sui dispositivi idonei Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo e Xiaomi in base ai piani di aggiornamenti dei singoli produttori per i singoli modelli idonei.
Il team Android ha condiviso che oltre 225.000 persone hanno testato le prime versioni beta di Android 12 su Pixel e sui dispositivi dei partner con l’invio di quasi 50.000 segnalazioni di problemi per migliorare la qualità della versione prima del rilascio di questa prima build finale.
Google ha in programma di parlare di Android 12 in modo dettagliato all’Android Dev Summit di quest’anno, in programma dal 27 al 28 ottobre.
Le novità di Android 12
Google ha introdotto nel 2014, con Android L, l’interfaccia "Material Design" basata su regole di design che hanno permesso di semplificare e adattare la visualizzazione dei contenuti su varie dimensioni di schermi, in un periodo in cui gli smartphone iniziavano ad essere affiancati da smartwatch e tablet. Se il "Material Design" si basa su regole che devono rispettare sviluppatori e produttori, Android 12 introduce il nuovo linguaggio di design chiamato "Material You" che permette all’utente finale di adattare l’interfaccia utente come meglio preferisce, secondo i propri gusti. Usando quella che il team di Android chiama ‘estrazione del colore’, l’utente finale può scegliere lo sfondo e il sistema determina automaticamente la migliore combinazione di colore applicandola agli elementi dell’intero sistema operativo: l’ombra delle notifiche, la schermata di blocco, i controlli del volume, widget e molto altri. Se la combinazione di colori automatica non piace, è personalizzabile attraverso una tavolozza di colori.
Presentazione di Android 12, ‘disegnato per l’utente’
Disponibilità di Android 12
Adesso che Android 12 in AOSP è ora disponibile, gli sviluppatori di app sono chiamati a verificare la compatibilità delle loro app con la nuova versione del sistema operativo Android, e qualora volessero anche di ottimizzarle e/o migliorarle per sfruttare le nuove funzionalità e API messe a loro disposizione.
Google inizierà la distribuzione di Android 12, come da tradizione, prima sui telefoni Pixel di Google nel corso delle prossime settimane. Da entro la fine di quest’anno, anche i produttori Samsung, OnePlus, Oppo, Realme, Tecno, Vivo e Xiaomi inizieranno ad aggiornare i propri dispositivi idonei, in alcuni casi dopo un periodo di beta testing a cui chi interessato potrà iscriversi. Oppo ha già annunciato un evento per presentare ColorOS 12 basato su Android 12.
Android 12 offre anche nuove animazioni degli elementi dell’interfaccia utente ad ogni interazione con il sistema, che si tratti di tocco o scorrimento. I widget delle app sono stati riprogettati per offrire nuovi controlli interattivi oltre a layout reattivi e personalizzabili, mentre alla chiusura delle notifiche nella schermata di blocco ora l’orologio appare più grande. E per rendere più fluido lo scorrimento del contenuto di un’app, Android 12 presenta il nuovo effetto di scorrimento "stretch". Android 12 introduce anche schermate di avvio per tutte le app: le singole app possono personalizzare la schermata iniziale in diversi modi per soddisfare le loro esigenze di branding.
Il sistema è stato ristrutturato alla base per offrire una migliore efficienza energetica, per consentire di utilizzare il dispositivo più a lungo. Questo è stato ottenuto grazie ad alcuni miglioramenti nascosti tra cui la riduzione (fino al 22%) del tempo di CPU necessario per i servizi di sistema di base e la riduzione del 15% dell’uso di core di grandi dimensioni. Sono stati anche migliorati i tempi di avvio delle app e ottimizzato l’I/O per un caricamento più rapido delle app e per le query del database è stato migliorato CursorWindow fino a 49 volte per le finestre di grandi dimensioni. Per offrire un’esperienza migliore agli utenti, Android 12 impedisce alle app di avviare servizi in primo piano in background. Inoltre, una serie di nuove misure adottate a livello di sistema operativo aiuta a ridurre i tempi delle app di invio delle notifiche.
Su Android 12 migliora anche il supporto degli acceleratori di Machine learning per le migliori prestazioni possibili tramite l’API Neural Networks: questi driver sono ora aggiornabili anche al di fuori delle versioni della piattaforma, tramite i servizi di Google Play, in modo che le app possano sfruttare i driver più recenti su qualsiasi dispositivo compatibile.
Android migliora in termini di privacy e sicurezza di versione in versione. Android 12 non è da meno, offrendo nuove funzionalità sviluppate per dare maggiore trasparenza su quali app accedono ai dati personali, così come più controlli per poter fare scelte informate sul tipo di informazioni private a cui possono accedere le singole app. Nella nuova dashboard per la privacy in Impostazioni è possibile avere un migliore controllo di quando le singole app accedono ai dati relativi a microfono, fotocamera e posizione. E’ anche stata aggiunta la possibilità di concedere l’accesso alla posizione approssimativa anzichè a quella precisa ad un’app che la richiede. E poi c’è un nuovo indicatore nella barra di stato che consente di sapere quando l’app in uso sta utilizzando la fotocamera o il microfono del dispositivo. Su dispositivi compatibili con Android 12 ci sono anche switch per attivare/disattivare istantaneamente l’accesso alle app a microfono e/o alla fotocamera. Infine, Android 12 mette a disposizione degli sviluppatori di app nuove autorizzazioni per cercare e associare dispositivi nelle vicinanze senza bisogno dell’autorizzazione all’accesso alla posizione.
Altre novità di Android 12 sono più di interesse agli sviluppatori di app, ma vale comunque la pena citarle.
Tra queste, una nuova API unificata consente alle app di ricevere contenuti avanzati da qualsiasi fonte: appunti, tastiera o trascinamento della selezione. Inoltre, Android 12 offre supporto per schermi con angoli arrotondati per offrire una migliore esperienza utente su questi dispositivi moderni. E poi Android 12 introduce anche il supporto per immagini AV1 Image File Format (AVIF), formato che è in grado di offrire una qualità dell’immagine superiore con una compressione più efficiente. AVIF è un formato contenitore per immagini e sequenze di immagini codificate utilizzando AV1. Come altri formati di immagine moderni, AVIF sfrutta il contenuto codificato intra-frame dalla compressione video. Secondo il team Android, questo migliora notevolmente la qualità dell’immagine per la stessa dimensione di file rispetto ai formati di immagine precedenti, come JPEG.
Per migliorare l’esperienza utente, Android 12 arriva con la "Transcodifica multimediale compatibile". Considerata la prevalenza di codificatori hardware HEVC sui dispositivi mobili, le app della fotocamera acquisiscono sempre più in formato HEVC, che è in grado di comprimere molto le immagini mantenendone elevata la qualità. La maggior parte delle app dovrebbe supportare HEVC, secondo il team Android, ma per le app che non possono garantire questo supporto Android 12 offre la funzione di ‘transcodifica multimediale compatibile’. Con questa, un’app che non supporta HEVC può fare in modo che la piattaforma transcodifichi automaticamente il file in AVC, un formato ampiamente compatibile. Il processo di transcodifica richiede tempo, a seconda delle proprietà video e hardware del dispositivo. Ad esempio, un video 1080p di un minuto a 30fps impiega circa 9 secondi per transcodificare su un telefono Google Pixel 4. Gli sviluppatori hanno modo di scegliere se utilizzare il servizio di transcodifica oppure no, semplicemente dichiarando i formati multimediali che le loro app non supportano.
Sfocature, filtri colore e altri effetti più semplici: nuove API semplificano l’applicazione di effetti grafici comuni alle viste e alle gerarchie di rendering. Su Android 12 migliora anche il debug per arresti anomali nativi: le app possono ora accedere a file dettagliati di dump di arresto anomalo tramite l’API App Exit Reasons.
Per i giochi, Android 12 offre le API Game Mode tramite cui gli sviluppatori possono far reagire le loro app nel momento in cui l’utente attiva la modalità ‘Gioco’, se disponibile sul proprio dispositivo, ad esempio per una migliore durata della batteria o per la visualizzazione di immagini a frame rate elevti.
I widget su Android 12