Android 12 Developer Preview 1 è qui, portando con sé un sacco di modifiche a cui gli sviluppatori di app devono prestare attenzione e adattare le loro app. Continuare a leggere!
Il sistema operativo Android esiste ormai da anni ed è diventato il sistema operativo dominante per i dispositivi mobili. Sebbene Android come piattaforma sia decisamente maturato nel corso degli anni, c'è sempre spazio per qualche miglioramento. E migliorerà, dato che Google sta rilasciando la prima versione del suo prossimo aggiornamento, Androide 12. Android 12 Developer Preview 1 è qui e porta con sé modifiche che rendono Android più intuitivo, più performante e più sicuro.
Prima di andare avanti, ecco qualcosa che necessita di essere ripetuto: questa anteprima per sviluppatori, come suggerisce il nome, è intesa solo per gli sviluppatori in modo che possano provare il prossimo sistema operativo e testare le loro app per adattarsi ai cambiamenti in atto introdotto. Ciò significa che si tratta di una versione del sistema operativo molto approssimativa, come previsto, ma Google la perfezionerà con il feedback degli sviluppatori nei prossimi mesi. Se sei un utente medio, l'aggiornamento Android 12 per te arriverà non prima della seconda metà dell'anno. Fino ad allora, ti consigliamo di evitare di eseguire il flashing delle build sul tuo telefono e di leggere semplicemente la nostra copertura per rimanere aggiornato su tutte le modifiche in arrivo su Android!
Android 12 è stato realizzato pensando alla privacy, a una migliore esperienza utente e a prestazioni migliori, con la Developer Preview 1 che introduce:
-
Fiducia e sicurezza
- Comportamenti dei cookie SameSite moderni in WebView
- MAC Netlink limitato
- Esportazione più sicura dei componenti
- Gestione più sicura degli intenti
-
Migliori strumenti per l'esperienza utente
- Transcodifica multimediale compatibile
- Supporto per immagini AVIF
- Ottimizzazioni del servizio in primo piano
- Inserimento di contenuti ricchi
- Effetto audio accoppiato al tatto
- Audio multicanale
- Miglioramenti della modalità immersiva per la navigazione gestuale
- Aggiornamenti dell'interfaccia utente delle notifiche
- Notifiche più veloci e reattive
- Chiamate IPC Binder migliorate
-
Compatibilità dell'app
- Aggiornamenti del sistema Project Mainline/Google Play: ART e altro ancora
- Ottimizzazione per tablet, pieghevoli, TV
- Elenchi aggiornati di interfacce non SDK
- Test e debug delle modifiche più semplici
- Pietra miliare della stabilità della piattaforma
- Come scaricare E Come installare Android 12 Anteprima per sviluppatori 1
Google spera di offrire agli utenti maggiore trasparenza e controllo mantenendo al sicuro i dispositivi Android. Android 12 introduce nuovi controlli sugli identificatori che possono essere utilizzati per il monitoraggio, impostazioni predefinite più sicure per i componenti dell'app e altro ancora.
Comportamenti dei cookie SameSite moderni in WebView
WebView è in fase di aggiornamento per renderlo in linea con modifiche a Google Chrome e altri browser, rispetto al comportamento dei cookie SameSite. Ciò fornirà ulteriore sicurezza e privacy e offrirà agli utenti maggiore trasparenza e controllo sul modo in cui i cookie possono essere utilizzati nei vari siti.
Google vuole che gli sviluppatori migrino verso identificatori ripristinabili che proteggono la privacy. A tal fine, ha adottato uno sforzo multi-release per facilitare la migrazione del MAC Netlink con ambito dispositivo. Android 11 ha limitato l'accesso al MAC Netlink con ambito dispositivo al livello API 30 e in Android 12 la restrizione viene applicata a tutte le app, indipendentemente dal livello dell'SDK di destinazione.
Esportazione più sicura dei componenti
Le app nelle versioni precedenti di Android possono esportare inavvertitamente attività, servizi e ricevitori. Google sta modificando la gestione predefinita dei file androide; esportato per essere più esplicito in Android 12. Con Android 12, i componenti che dichiarano uno o più filtri di intent devono ora dichiarare esplicitamente un androide; esportato attributo. Google consiglia agli sviluppatori di controllare i propri componenti nel manifest per evitare errori di installazione legati alla modifica.
Gestione più sicura degli intenti
Android 12 richiede inoltre che le app dichiarino esplicitamente un flag di mutabilità FLAG_MUTABLE o il nuovo FLAG_IMMUTABLE, per ogni PendingIntent. Ciò dovrebbe rendere più sicura la gestione dei PendingIntent.
Nessun aggiornamento è completo senza qualche miglioramento in più nell’esperienza dell’utente, e Android 12 non è diverso.
La maggior parte dei dispositivi mobili al giorno d'oggi è dotata della codifica hardware H.265/HEVC, consentendo alle app della fotocamera di farlo acquisire nel formato HEVC in quanto offre miglioramenti significativi in termini di qualità e compressione rispetto ai formati precedenti codec. La maggior parte delle app supporta HEVC, ma ce ne sono ancora alcune che non lo supportano. Per queste app, Google sta introducendo la transcodifica multimediale compatibile con Android 12.
Con questa funzionalità, un'app che non supporta HEVC può fare in modo che la piattaforma transcodifichi automaticamente il file in H.264/AVC, un formato che vede una compatibilità molto più ampia. Come ci si aspetterebbe, il processo di transcodifica richiederà del tempo a seconda del video e delle proprietà hardware dello smartphone. Google fornisce l'esempio del Pixel 4 (Snapdragon 855) che impiega circa 9 secondi per transcodificare un video 1080p 30fps di 1 minuto.
Gli sviluppatori possono scegliere di utilizzare il servizio di transcodifica semplicemente dichiarando i formati multimediali che la loro app non supporta. Google consiglia vivamente che le app supportino innanzitutto HEVC, ma se ciò non è possibile, lo sviluppatore dovrebbe abilitare la transcodifica multimediale compatibile. La funzionalità sarà attiva su tutti i dispositivi che utilizzano il formato HEVC per l'acquisizione video.
Supporto immagini AVIF
Android 12 introduce il supporto della piattaforma per il formato file immagine AV1, consentendo una qualità dell'immagine più elevata con una compressione più efficiente. AVIF è un formato contenitore per immagini e sequenze di immagini codificate utilizzando AV1. AVIF sfrutta il contenuto codificato intra-frame dalla compressione video, migliorando notevolmente la qualità dell'immagine per la stessa dimensione del file rispetto ai formati immagine più vecchi come JPEG.
Ottimizzazioni dei servizi in primo piano
Un servizio in primo piano è un servizio che esegue alcune operazioni evidenti all'utente, come un'app audio che riproduce una traccia audio e quindi utilizza un servizio in primo piano. Questi servizi rappresentano un modo importante per consentire alle app di gestire determinati tipi di attività rivolte agli utenti. Ma quando vengono utilizzati in modo eccessivo, ciò può influire sulle prestazioni e persino portare all’arresto dell’app.
Citando i miglioramenti dell'esperienza utente, Google bloccherà l'avvio del servizio in primo piano dallo sfondo per le app destinate alla nuova piattaforma. E per facilitare la transizione degli sviluppatori da questo modello di avvio, Android 12 introduce un nuovo lavoro accelerato in JobScheduler che ottiene elevata priorità di processo, accesso alla rete e viene eseguito immediatamente indipendentemente dai vincoli di alimentazione come la batteria Risparmiatore o Doze. Per garantire la compatibilità con le versioni precedenti, Google ha anche integrato lavori accelerati nell'ultima versione della libreria Jetpack WorkManager. Inoltre, Google sta ritardando la visualizzazione di alcune notifiche di servizi in primo piano fino a 10 secondi. Ciò offre la possibilità di completare le attività di breve durata prima che vengano visualizzate le notifiche, riducendo la distrazione per gli utenti.
Inserimento di contenuti ricchi
Abbiamo da tempo superato il punto in cui la nostra comunicazione sui telefoni si basava solo su semplici voci e testi. La maggior parte della comunicazione al giorno d'oggi è incompleta senza immagini di accompagnamento (leggi: meme), video e altri contenuti espressivi (leggi: gif di reazione). Tuttavia, inserire e spostare questi ricchi tipi di contenuti all'interno e tra le app non è facile.
Per facilitare la ricezione di contenuti avanzati da parte delle app, Google sta introducendo una nuova API unificata che consente loro di accettare contenuti da qualsiasi fonte: appunti, tastiera o trascinamento della selezione. Gli sviluppatori possono allegare una nuova interfaccia chiamata OnReceiveContentListener ai componenti dell'interfaccia utente e ricevi una richiamata quando il contenuto viene inserito tramite qualsiasi meccanismo. Questo callback diventa di conseguenza l'unico posto in cui il codice dell'app gestisce l'inserimento di tutti tipi di contenuto, che si tratti di testo semplice, testo con stile, markup, immagini, video o file audio e al di là.
Per la retrocompatibilità, Google ha aggiunto l'API unificata ad Androidx.
Effetto audio accoppiato al tatto
In Android 12, le app possono fornire feedback tattile accoppiato all'audio tramite il vibratore del telefono. Inoltre, la forza e la frequenza della vibrazione derivano da una sessione audio, consentendo agli sviluppatori di creare un'esperienza di gioco e audio più coinvolgente. Ad esempio, le app di chiamata possono forse utilizzare suonerie personalizzate per identificare i chiamanti attraverso il feedback tattile e i giochi potrebbero simulare il terreno accidentato in un gioco di corse. Ci sono alcune possibilità da esplorare qui.
Audio multicanale
Android 12 include diversi miglioramenti per l'audio con informazioni spaziali. Aggiunge il supporto per MPEG-H riproduzione in modalità passthrough e offload. I mixer audio, i ricampionatori e gli effetti sono stati ottimizzati per un massimo di 24 canali (il massimo precedente era 8 su Android 11).
Miglioramenti della modalità immersiva per la navigazione gestuale
Android 12 porta con sé un cambiamento che a prima vista sembra molto importante. Nelle esperienze di app a schermo intero o immersive, Android 12 consentirà agli utenti di navigare sui propri telefoni con un semplice tocco per impostazione predefinita. Il sistema operativo proteggerà comunque le app da gesti accidentali in queste esperienze a schermo intero. Metteremo le mani sull'anteprima per sviluppatori per capire esattamente cosa è cambiato poiché il testo non rende completamente giustizia al cambiamento.
Aggiornamenti dell'interfaccia utente delle notifiche
Come potresti aver già notato in Schermate di Android 12 trapelate, le notifiche verranno leggermente ritoccate per renderle più moderne, più facili da usare e più funzionali. Google afferma che ci sono modifiche dal drawer e dai controlli ai modelli stessi. Anche le transizioni e le animazioni vengono ottimizzate per renderle più fluide. Le app destinate ad Android 12 avranno anche accesso alle notifiche con contenuti personalizzati con icona e altre modifiche per corrispondere a tutte le altre notifiche. Daremo un'occhiata più da vicino ai cambiamenti nel nostro pratico.
Notifiche più veloci e reattive
Le notifiche dovrebbero offrire un percorso chiaro e rapido per raggiungere una determinata sezione all'interno di un'app. Per questo motivo, gli sviluppatori devono garantire che i tocchi di notifica attivino l'avvio diretto dell'attività, anziché utilizzare un file ricevitore o servizio di trasmissione intermediario per avviare l'attività (un approccio a cui Google fa riferimento come Notification Trampolino). I trampolini di notifica possono causare ritardi significativi e influire sull'esperienza dell'utente, e quindi su Android 12 bloccheranno questi trampolini di notifica impedendo loro di lanciare il loro bersaglio Attività. Google sta chiedendo agli sviluppatori di abbandonare tale pratica. Questa modifica si applica solo alle app destinate alla nuova piattaforma, ma per tutte le app Google mostrerà un brindisi per rendere visibili i trampolini allo sviluppatore e agli utenti.
Chiamate IPC Binder migliorate
Google si è concentrato sulla riduzione della variabilità del sistema apportando ottimizzazioni alla latenza e alla distribuzione del carico di lavoro che riducono l'esperienza mediana per i casi d'uso percentili del 99%. Ciò ha comportato miglioramenti alle chiamate del raccoglitore di sistema, aggiungendo strategie di memorizzazione nella cache leggere e concentrandosi sulla rimozione del conflitto di blocco per migliorare la distribuzione della latenza. Google afferma che ciò ha prodotto un aumento delle prestazioni di circa 2 volte sulle chiamate Binder nel complesso, con miglioramenti significativi in chiamate specifiche come refContentProvider() (miglioramento di 47x), rilasciaWakeLock() (miglioramento di 15 volte) e JobScheduler.schedule() (miglioramento di 7,9 volte).
Compatibilità delle app su Android 12
In questa sezione, Google parla di come rendere gli aggiornamenti più rapidi e fluidi sia per gli sviluppatori che per gli utenti. Le modifiche relative alle app verranno attivate per dare agli sviluppatori più tempo per adattarsi alla nuova piattaforma.
Aggiornamenti del sistema Project Mainline/Google Play: ART e altro ancora
COME l'abbiamo capito l'anno scorso, Google sta trasferendo ART in un modulo Project Mainline. Ciò consentirà a Google di migliorare le prestazioni e la correttezza del runtime, gestire il core di memoria in modo più efficiente e rendere le operazioni di Kotlin più veloci, il tutto senza richiedere un aggiornamento completo del sistema.
Inoltre, alcune delle funzioni menzionate in questa stessa notizia vengono fornite anche tramite Project Mainline. Ad esempio, la funzionalità di transcodifica continua viene fornita tramite un modulo aggiornabile, indicando che questo potrebbe benissimo essere il futuro per Android.
Ottimizzazione per tablet, dispositivi pieghevoli e TV
Google sta inoltre rilasciando la prima anteprima di Android 12 per Android TV. Con questo, non solo ottieni le ultime funzionalità Android sulla TV, ma puoi anche testarle rispetto alle nuove Google TV esperienza.
Elenchi aggiornati di interfacce non SDK
Con questa versione, Google ha interfacce aggiuntive non SDK limitate.
Test e debug delle modifiche più semplici
Introdotto con Android 11, Google consente di eseguire test e debugging più semplici delle modifiche tramite attivazioni/disattivazioni per le modifiche presentate individualmente dalle Opzioni sviluppatore o tramite ADB.
Pietra miliare della stabilità della piattaforma
Proprio come l'anno scorso, Google prevede di raggiungere il traguardo della stabilità della piattaforma per questa versione, per consentire agli sviluppatori di avere concretezza conoscenza delle API SDK/NDK finali e di tutte le API interne finali e dei comportamenti di sistema rivolti alle app di cui hanno bisogno per preparare il loro app per. Google prevede di raggiungere la stabilità della piattaforma Android 12 entro agosto 2021.
Scarica e installa l'anteprima per sviluppatori di Android 12 1
Puoi facilmente scarica l'ultima anteprima per sviluppatori Android 12 dai link presenti nel nostro articolo dedicato, che verrà aggiornato con i link per il download anche per le versioni future.
Google sta ufficialmente rilasciando questo aggiornamento di anteprima per sviluppatori per:
- Pixel 5
- Pixel 4a 5G
- Pixel 4a
- Pixel 4
- Pixel 4XL
- Pixel 3a
- Pixel 3aXL
- Pixel 3
- Pixel3XL
Inoltre, abbiamo istruzioni di installazione disponibili per Android 12 Developer Preview 1 per percorsi di installazione comuni come Recovery, ADB e Fastboot per i suddetti dispositivi Pixel e tramite GSI per tutti gli altri dispositivi compatibili con Project Treble.