Rilascio della piattaforma mobile Android 12

Google ha pubblicato il rilascio della piattaforma mobile aperta Android 12. I testi sorgente associati alla nuova versione sono pubblicati nel repository Git del progetto (ramo android-12.0.0_r1). Gli aggiornamenti firmware sono preparati per i dispositivi della serie Pixel, nonché per gli smartphone prodotti da Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo e Xiaomi. Inoltre, sono stati creati assiemi GSI (Generic System Images) universali, adatti a vari dispositivi basati su architetture ARM64 e x86_64.

Principali innovazioni:

  • È stato proposto uno degli aggiornamenti progettuali dell'interfaccia più significativi nella storia del progetto. Il nuovo design implementa il concetto “Material You”, pubblicizzato come la prossima generazione di Material Design. Il nuovo concetto verrà applicato automaticamente a tutte le piattaforme e agli elementi dell'interfaccia e non richiederà agli sviluppatori di applicazioni di apportare alcuna modifica. A luglio si prevede di fornire agli sviluppatori di applicazioni la prima versione stabile di un nuovo toolkit per lo sviluppo di interfacce grafiche: Jetpack Compose.
    Rilascio della piattaforma mobile Android 12

    La piattaforma stessa presenta un nuovo design dei widget. I widget sono stati resi più visibili, gli angoli sono stati arrotondati meglio ed è stata fornita la possibilità di utilizzare colori dinamici che si adattano al tema del sistema. Aggiunti controlli interattivi come caselle di controllo e interruttori (CheckBox, Switch e RadioButton), ad esempio, che consentono di modificare elenchi di attività nel widget TODO senza aprire l'applicazione.

    Rilascio della piattaforma mobile Android 12

    Implementata una transizione visiva più fluida alle applicazioni avviate dai widget. La personalizzazione dei widget è stata semplificata: è stato aggiunto un pulsante (un cerchio con una matita) per riconfigurare rapidamente il posizionamento del widget sullo schermo, che appare quando si tocca a lungo il widget.

    Rilascio della piattaforma mobile Android 12Rilascio della piattaforma mobile Android 12

    Sono previste ulteriori modalità per limitare la dimensione del widget e la possibilità di utilizzare il layout adattivo degli elementi del widget (layout responsive) per creare layout standard che cambiano a seconda della dimensione dell'area visibile (ad esempio è possibile creare layout separati per tablet e smartphone). L'interfaccia di selezione del widget implementa l'anteprima dinamica e la possibilità di visualizzare una descrizione del widget.

    Rilascio della piattaforma mobile Android 12
  • Aggiunta la possibilità di adattare automaticamente la tavolozza di sistema al colore dello sfondo selezionato: il sistema rileva automaticamente i colori prevalenti, regola la tavolozza corrente e applica le modifiche a tutti gli elementi dell'interfaccia, inclusa l'area di notifica, la schermata di blocco, i widget e il controllo del volume.
  • Sono stati implementati nuovi effetti animati, come lo zoom graduale e lo spostamento fluido delle aree durante lo scorrimento, la visualizzazione e lo spostamento degli elementi sullo schermo. Ad esempio, quando si annulla una notifica nella schermata di blocco, l'indicatore del tempo si espande automaticamente e occupa lo spazio precedentemente occupato dalla notifica.
  • Il design dell'area a discesa con notifiche e impostazioni rapide è stato ridisegnato. Nelle impostazioni rapide sono state aggiunte opzioni per Google Pay e il controllo della casa intelligente. Tenendo premuto il pulsante di accensione viene visualizzato l'Assistente Google, a cui puoi comandare di effettuare una chiamata, aprire un'app o leggere un articolo ad alta voce. Le notifiche con il contenuto specificato dall'applicazione vengono fornite in forma generale.
    Rilascio della piattaforma mobile Android 12
  • Aggiunto l'effetto Stretch overscroll per indicare che l'utente si è spostato oltre l'area di scorrimento e ha raggiunto la fine del contenuto. Con il nuovo effetto, l'immagine del contenuto sembra allungarsi e tornare indietro. Il nuovo comportamento di fine scorrimento è abilitato per impostazione predefinita, ma nelle impostazioni è presente un'opzione per ripristinare il vecchio comportamento.
  • L'interfaccia è stata ottimizzata per i dispositivi con schermi pieghevoli.
    Rilascio della piattaforma mobile Android 12
  • Sono state implementate transizioni audio più fluide: quando si passa da un'applicazione che emette audio a un'altra, il suono della prima viene ora disattivato in modo uniforme e quello della seconda aumenta gradualmente, senza sovrapporre un suono all'altro.
  • È stata modernizzata l'interfaccia per la gestione delle connessioni di rete nel blocco impostazioni rapide, nel pannello e nel configuratore di sistema. È stato aggiunto un nuovo pannello Internet che consente di passare rapidamente da un fornitore all'altro e di diagnosticare i problemi.
    Rilascio della piattaforma mobile Android 12
  • Aggiunta la possibilità di creare screenshot che coprano non solo l'area visibile, ma anche il contenuto nell'area di scorrimento. La possibilità di mantenere il contenuto all'esterno dell'area visibile funziona per tutte le applicazioni che utilizzano la classe View per l'output. Per implementare il supporto allo scorrimento delle schermate nei programmi che utilizzano interfacce specifiche, è stata proposta l'API ScrollCapture.
    Rilascio della piattaforma mobile Android 12
  • È stata migliorata la funzionalità di rotazione automatica dei contenuti dello schermo, che ora può utilizzare il riconoscimento facciale della fotocamera anteriore per determinare se è necessario ruotare lo schermo, ad esempio quando una persona utilizza il telefono mentre è sdraiata. Per garantire la riservatezza, le informazioni vengono elaborate al volo senza archiviazione intermedia delle immagini. La funzionalità è attualmente disponibile solo su Pixel 4 e smartphone più recenti.
  • Modalità immagine nell'immagine migliorata (PIP, Picture in Picture) e maggiore fluidità degli effetti di transizione. Se si attiva la transizione automatica al PIP con un gesto Up-to-Home (spostando la parte inferiore dello schermo verso l'alto), l'applicazione passa immediatamente alla modalità PIP, senza attendere il completamento dell'animazione. Ridimensionamento migliorato delle finestre PIP con contenuto non video. Aggiunta la possibilità di nascondere la finestra PIP trascinandola sul bordo sinistro o destro dello schermo. Il comportamento quando si tocca una finestra PIP è stato modificato: un tocco ora visualizza i pulsanti di controllo e un doppio tocco modifica le dimensioni della finestra.
  • Ottimizzazioni delle prestazioni:
    • È stata effettuata un'ottimizzazione significativa delle prestazioni del sistema: il carico sulla CPU dei principali servizi di sistema è diminuito del 22%, il che a sua volta ha portato ad un aumento della durata della batteria del 15%. Riducendo il conflitto di blocchi, riducendo la latenza e ottimizzando l'I/O, le prestazioni della transizione da un'applicazione all'altra aumentano e il tempo di avvio dell'applicazione viene ridotto.

      In PackageManager, quando si lavora con gli snapshot in modalità di sola lettura, il conflitto di blocchi viene ridotto del 92%. Il motore di comunicazione interprocesso di Binder utilizza una memorizzazione nella cache leggera per ridurre la latenza fino a 47 volte per alcuni tipi di chiamate. Prestazioni migliorate per l'elaborazione di file dex, odex e vdex, con conseguenti tempi di caricamento delle app più rapidi, soprattutto su dispositivi con poca memoria. L'avvio delle applicazioni dalle notifiche è stato accelerato, ad esempio l'avvio di Google Foto da una notifica è ora più veloce del 34%.

      Le prestazioni delle query del database sono state migliorate tramite l'uso di ottimizzazioni in linea nell'operazione CursorWindow. Per piccole quantità di dati, CursorWindow è diventato più veloce del 36% e per set di oltre 1000 righe l'aumento può arrivare fino a 49 volte.

      Vengono proposti criteri per classificare i dispositivi in ​​base alle prestazioni. In base alle capacità del dispositivo, gli viene assegnata una classe di prestazioni, che può quindi essere utilizzata nelle applicazioni per limitare la funzionalità dei codec su dispositivi a basso consumo o per gestire contenuti multimediali di qualità superiore su hardware potente.

    • È stata implementata una modalità di ibernazione dell'applicazione che consente, se l'utente non interagisce esplicitamente con il programma per un lungo periodo, di ripristinare automaticamente i permessi precedentemente concessi all'applicazione, interrompere l'esecuzione, restituire le risorse utilizzate dall'applicazione, come memoria, e bloccare l'avvio del lavoro in background e l'invio di notifiche push. La modalità può essere utilizzata per la maggior parte delle applicazioni e consente di proteggere i dati utente a cui continuano ad avere accesso programmi dimenticati da tempo. Se lo si desidera, la modalità di ibernazione può essere disabilitata selettivamente nelle impostazioni.
    • L'animazione durante la rotazione dello schermo è stata ottimizzata, riducendo il ritardo prima della rotazione di circa il 25%.
    • La struttura include un nuovo motore di ricerca ad alte prestazioni AppSearch, che consente di indicizzare le informazioni presenti sul dispositivo ed eseguire ricerche full-text con risultati in classifica. AppSearch fornisce due tipi di indici: per organizzare le ricerche nelle singole applicazioni e per la ricerca nell'intero sistema.
    • Aggiunta l'API della modalità di gioco e le impostazioni corrispondenti che ti consentono di gestire il profilo delle prestazioni del gioco: ad esempio, puoi sacrificare le prestazioni per prolungare la durata della batteria o utilizzare tutte le risorse disponibili per ottenere il massimo FPS.
    • Aggiunta la funzione "gioca mentre scarichi" per scaricare le risorse di gioco in background durante il processo di installazione, consentendoti di iniziare a giocare prima che il download sia completato. applicazione.
    • Maggiore reattività e velocità di reazione quando si lavora con le notifiche. Ad esempio, quando un utente tocca una notifica, ora viene immediatamente indirizzato all'app associata. Le applicazioni limitano l'uso dei trampolini di notifica.
    • Chiamate IPC ottimizzate in Binder. Utilizzando una nuova strategia di memorizzazione nella cache ed eliminando i conflitti di blocco, la latenza è stata notevolmente ridotta. Nel complesso, le prestazioni delle chiamate Binder sono quasi raddoppiate, ma in alcune aree sono stati raggiunti miglioramenti ancora più significativi. Ad esempio, la chiamata a refContentProvider() è diventata 47 volte più veloce, releaseWakeLock() 15 volte più veloce e JobScheduler.schedule() 7.9 volte più veloce.
    • Per evitare potenziali problemi di prestazioni, alle applicazioni non è consentito eseguire servizi in primo piano mentre sono in esecuzione in background, tranne in alcuni casi speciali. Per iniziare a lavorare in background, si consiglia di utilizzare WorkManager. Per semplificare la transizione, in JobScheduler è stata proposta una nuova tipologia di lavoro, che inizia immediatamente, ha maggiore priorità e accesso alla rete.
  • Modifiche che riguardano la sicurezza e la privacy:
    • L'interfaccia Privacy Dashboard è stata implementata con una panoramica generale di tutte le impostazioni dei permessi, consentendo di capire a quali applicazioni relative ai dati utente hanno accesso. L'interfaccia include anche una sequenza temporale che visualizza la cronologia degli accessi dell'app a microfono, fotocamera e dati sulla posizione. Per ciascuna applicazione è possibile visualizzare i dettagli e le motivazioni dell'accesso ai dati sensibili.
      Rilascio della piattaforma mobile Android 12
    • Al pannello sono stati aggiunti indicatori di attività del microfono e della fotocamera, che vengono visualizzati quando un'applicazione accede alla fotocamera o al microfono. Quando si fa clic sugli indicatori, viene visualizzata una finestra di dialogo con le impostazioni che consente di determinare quale applicazione funziona con la fotocamera o il microfono e, se necessario, revocare le autorizzazioni.
    • Sono stati aggiunti degli interruttori al blocco pop-up delle impostazioni rapide, con i quali è possibile disattivare forzatamente microfono e fotocamera. Dopo lo spegnimento, i tentativi di accesso alla fotocamera e al microfono comporteranno una notifica e l'invio di dati vuoti all'applicazione.
      Rilascio della piattaforma mobile Android 12
    • Aggiunta una nuova notifica che appare nella parte inferiore dello schermo ogni volta che un'applicazione tenta di leggere il contenuto degli appunti tramite una chiamata alla funzione getPrimaryClip(). Se il contenuto degli appunti viene copiato nella stessa applicazione in cui è stato aggiunto, la notifica non viene visualizzata.
    • Aggiunta un'autorizzazione separata BLUETOOTH_SCAN per scansionare i dispositivi vicini tramite Bluetooth. In precedenza, questa funzionalità veniva fornita in base all'accesso alle informazioni sulla posizione del dispositivo, il che comportava la necessità di concedere autorizzazioni aggiuntive alle applicazioni che richiedono l'accoppiamento con un altro dispositivo tramite Bluetooth.
    • La finestra di dialogo per fornire l'accesso alle informazioni sulla posizione del dispositivo è stata modernizzata. All'utente viene ora data la possibilità di fornire all'applicazione informazioni sulla posizione esatta o di fornire solo dati approssimativi, nonché di limitare l'autorità solo alla sessione attiva con il programma (negare l'accesso in background). Il livello di precisione dei dati restituiti quando si seleziona una posizione approssimativa può essere modificato nelle impostazioni, anche in relazione alle singole applicazioni.
      Rilascio della piattaforma mobile Android 12
    • Agli sviluppatori di applicazioni viene data la possibilità di disabilitare gli avvisi popup che si sovrappongono al contenuto. In precedenza, la capacità di visualizzare finestre sovrapposte veniva controllata richiedendo la verifica delle autorizzazioni durante l'installazione delle applicazioni che visualizzavano finestre sovrapposte. Non erano disponibili strumenti per influenzare la sovrapposizione dei contenuti delle applicazioni le cui finestre si sovrappongono. Quando si utilizza la chiamata Window#setHideOverlayWindows(), tutte le finestre sovrapposte verranno ora nascoste automaticamente. Ad esempio, è possibile abilitare l'occultamento quando vengono visualizzate informazioni particolarmente importanti, come la conferma della transazione.
    • Alle app vengono fornite impostazioni aggiuntive per limitare le operazioni di notifica mentre lo schermo è bloccato. In precedenza, avevi la possibilità di controllare la visibilità delle notifiche solo mentre lo schermo era bloccato, ma ora puoi abilitare l'autenticazione obbligatoria per eseguire qualsiasi azione con le notifiche mentre lo schermo è bloccato. Ad esempio, un'app di messaggistica potrebbe richiedere l'autenticazione prima di eliminare o contrassegnare un messaggio come letto.
    • Aggiunta l'API PackageManager.requestChecksums() per richiedere e verificare il checksum di un'applicazione installata. Gli algoritmi supportati includono SHA256, SHA512 e Merkle Root.
    • Il motore Web WebView implementa la possibilità di utilizzare l'attributo SameSite per controllare l'elaborazione dei cookie. Il valore "SameSite=Lax" limita l'invio di cookie per richieste secondarie tra siti, come la richiesta di un'immagine o il caricamento di contenuti tramite un iframe da un altro sito. Nella modalità "SameSite=Strict", non vengono inviati Cookie per alcun tipo di richiesta cross-site, compresi tutti i link in entrata da siti esterni.
    • Continuiamo a lavorare sulla randomizzazione degli indirizzi MAC per eliminare la possibilità di tracciamento del dispositivo quando è connesso a una rete wireless. Le applicazioni non privilegiate hanno accesso limitato all'indirizzo MAC del dispositivo e la chiamata getHardwareAddress() ora restituisce un valore vuoto.
  • Modifiche e miglioramenti di basso livello per gli sviluppatori di applicazioni:
    • Aggiunta la possibilità di adattare gli elementi dell'interfaccia ai dispositivi con schermi arrotondati. Gli sviluppatori possono ora ottenere informazioni sugli arrotondamenti dello schermo e regolare gli elementi dell'interfaccia che rientrano in aree angolari invisibili. Attraverso la nuova API RoundedCorner è possibile conoscere parametri come il raggio e il centro dell'arrotondamento e tramite Display.getRoundedCorner() e WindowInsets.getRoundedCorner() è possibile determinare le coordinate di ciascun angolo arrotondato dello schermo.
      Rilascio della piattaforma mobile Android 12
    • È stata aggiunta una nuova API CompanionDeviceService, con la quale è possibile attivare applicazioni che controllano i dispositivi associati, come smartwatch e fitness tracker. L'API risolve il problema dell'avvio e della connessione delle applicazioni necessarie quando un dispositivo associato appare nelle vicinanze. Il sistema attiva il servizio quando un dispositivo si trova nelle vicinanze e invia una notifica quando il dispositivo viene disconnesso o quando il dispositivo entra o esce dall'ambito. Le app possono anche utilizzare il nuovo profilo del dispositivo complementare per configurare più facilmente le autorizzazioni per unirsi a un dispositivo.
    • Sistema di previsione della capacità migliorato. Le applicazioni possono ora richiedere informazioni sul throughput totale previsto in relazione all'operatore, alla rete wireless specifica (SSID Wi-Fi), al tipo di rete e alla potenza del segnale.
    • L'applicazione degli effetti visivi comuni, come la sfocatura e la distorsione del colore, è stata semplificata e ora può essere applicata utilizzando l'API RenderEffect a qualsiasi oggetto RenderNode o all'intera area visibile, anche in una catena con altri effetti. Questa funzionalità, ad esempio, consente di sfocare un'immagine visualizzata tramite ImageView senza copiare, elaborare e sostituire esplicitamente la bitmap, spostando queste azioni lato piattaforma. Inoltre viene proposta l'API Window.setBackgroundBlurRadius() con la quale è possibile sfumare lo sfondo di una finestra con un effetto vetro smerigliato ed evidenziare la profondità sfocando lo spazio circostante la finestra.
      Rilascio della piattaforma mobile Android 12
    • Strumenti integrati per la transcodifica dei flussi multimediali che possono essere utilizzati in ambienti con un'applicazione fotocamera che salva video nel formato HEVC, per garantire la compatibilità con le applicazioni che non supportano questo formato. Per tali applicazioni è stata aggiunta una funzione di transcodifica automatica al più comune formato AVC.
    • Aggiunto il supporto per il formato immagine AVIF (AV1 Image Format), che utilizza tecnologie di compressione intra-frame dal formato di codifica video AV1. Il contenitore per la distribuzione dei dati compressi in AVIF è del tutto simile a HEIF. AVIF supporta sia le immagini in HDR (High Dynamic Range) che lo spazio colore Wide-gamut, nonché in gamma dinamica standard (SDR).
    • Viene proposta un'API OnReceiveContentListener unificata per inserire e spostare tipi estesi di contenuto (testo formattato, immagini, video, file audio, ecc.) tra applicazioni utilizzando varie origini dati, inclusi appunti, tastiera e interfaccia drag&drop.
    • È stato aggiunto un effetto di feedback tattile, implementato utilizzando il motore di vibrazione integrato nei telefoni, la cui frequenza e intensità di vibrazione dipendono dai parametri del suono attualmente emesso. Il nuovo effetto ti consente di sentire fisicamente il suono e può essere utilizzato per aggiungere ulteriore realismo a giochi e programmi audio.
    • Nella modalità Immersive, in cui il programma viene mostrato a schermo intero con i pannelli di servizio nascosti, la navigazione è semplificata utilizzando i gesti di controllo. Ad esempio, ora è possibile navigare tra libri, video e foto con un solo gesto di scorrimento.
    • Nell'ambito del progetto Mainline, che permette di aggiornare singoli componenti del sistema senza aggiornare l'intera piattaforma, sono stati preparati nuovi moduli di sistema aggiornabili oltre ai 22 moduli disponibili in Android 11. Gli aggiornamenti interessano componenti non hardware che vengono scaricati tramite Google Play separatamente dagli aggiornamenti firmware OTA del produttore. Tra i nuovi moduli aggiornabili tramite Google Play senza aggiornare il firmware ci sono ART (Android Runtime) e un modulo per la transcodifica video.
    • È stata aggiunta un'API alla classe WindowInsets per determinare la posizione di visualizzazione degli indicatori di utilizzo della fotocamera e del microfono (gli indicatori possono sovrapporsi ai controlli nei programmi distribuiti a schermo intero e, tramite l'API specificata, l'applicazione può regolare la propria interfaccia).
    • Per i dispositivi gestiti centralmente è stata aggiunta un'opzione per impedire l'uso di interruttori per disattivare il microfono e la fotocamera.
    • Per le applicazioni CDM (Companion Device Manager) in esecuzione in background, che controllano dispositivi complementari come smartwatch e fitness tracker, è possibile avviare servizi in primo piano.
    • Invece di un'edizione per dispositivi indossabili, Android Wear, insieme a Samsung, ha deciso di sviluppare una nuova piattaforma unificata che combini le funzionalità di Android e Tizen.
    • Le funzionalità delle edizioni Android per i sistemi di infotainment per auto e le smart TV sono state ampliate.

    Fonte: opennet.ru

  • Aggiungi un commento