Android 16: come velocizza gli aggiornamenti e l'installazione delle app

  • Android 16 riduce il tempo di blocco delle app durante gli aggiornamenti da diversi secondi a millisecondi, riposizionando attività come dexopt e dex2oat.
  • La nuova build cloud scarica gli artefatti applicativi predefiniti (SDM) dal Play Store per velocizzare l'installazione, soprattutto sui dispositivi mobili di fascia bassa.
  • Sono state introdotte modifiche sostanziali nel design, nei permessi di integrità, nel Bluetooth, nella sicurezza degli intenti, nella GPU e nella rete locale, che migliorano la stabilità, la privacy e la compatibilità.
  • L'obiettivo di questa serie di miglioramenti è quello di far sì che Android 16 offra un'esperienza più fluida e sicura, estendendola a un maggior numero di dispositivi di produttori come Samsung, Xiaomi e altri.

Aggiornamenti Android 16

Android 16 porta con sé uno di quei miglioramenti che a prima vista sembrano di poco conto, ma che nella vita di tutti i giorni possono fare una grande differenza: Gli aggiornamenti delle app diventano quasi istantanei e molto meno fastidiosi.Grazie a una combinazione di modifiche al sistema e nuove funzionalità di installazione delle app, Google desidera che il tuo telefono sia sempre aggiornato, senza che tu abbia la sensazione che qualcosa si blocchi costantemente.

Dietro questa esperienza più fluida ci sono diversi componenti tecnici che lavorano in background: i nuovi “aggiornamenti delle applicazioni senza interruzioni”, la ricollocazione di processi come dexopt e dex2oat e il cosiddetto cloud buildTutto questo si aggiunge ad altre modifiche significative in Android 16 che riguardano sviluppatori, prestazioni, sicurezza, privacy, salute digitale e compatibilità con più formati di schermo. Diamo un'occhiata chiara e diretta a cosa cambia esattamente.

Cosa sono gli aggiornamenti continui delle app in Android 16?

L'idea centrale di Android 16 in questo ambito è chiara: per garantire che gli aggiornamenti delle app abbiano il minimo impatto possibile sul normale utilizzo del telefono cellulareFinora, ogni volta che un'app veniva aggiornata, il sistema doveva "congelarla" per un breve periodo di tempo mentre ne sostituiva il codice e le risorse interne, impedendone l'esecuzione in parallelo per evitare errori, guasti dei dati o arresti imprevisti.

Che Dal punto di vista della stabilità, un congelamento temporaneo aveva senso.Ma in pratica, potrebbe rivelarsi un po' fastidioso. Nelle app di grandi dimensioni o critiche per il sistema, quel blocco di diversi secondi era sufficiente a far sì che altre applicazioni che ne dipendevano si comportassero in modo anomalo, rimanessero bloccate in attesa o persino visualizzassero errori occasionali.

Aggiornamenti Android 16
Articolo correlato:
Android 16 e icone: personalizzazione obbligatoria e desktop unificato

Con Android 16, Google fa un altro passo avanti e adotta in modo più aggressivo il concetto di aggiornamenti delle app senza interruzioniL'obiettivo non è solo quello di far sì che l'aggiornamento richieda meno tempo, ma anche di ridurre al minimo possibile il tempo in cui un'app è completamente inattiva, quasi al punto da risultare impercettibile all'utente.

Secondo le informazioni fornite da Google tramite fonti ufficiali, Il periodo durante il quale un'app rimane bloccata durante un aggiornamento è passato da "diversi secondi" a "decine di millisecondi"In termini pratici, stiamo parlando di un salto da una pausa che hai notato chiaramente a uno sfarfallio che, in molti casi, non percepisci nemmeno.

Come Android 16 velocizza gli aggiornamenti delle app

Per ottenere questa drastica riduzione dei tempi di inattività, Android 16 non ricorre a trucchi superficiali. Ciò che fa è riorganizzare compiti interni molto pesanti e portarli a una fase precedente all'installazione.quindi il periodo “critico” in cui l’app deve essere bloccata diventa molto più breve.

I due pezzi chiave qui sono Dexopt e DexoatSi tratta di strumenti all'interno dell'ambiente Android Runtime (ART) responsabili dell'ottimizzazione del bytecode dell'applicazione. Tradizionalmente, parte del loro lavoro veniva eseguito proprio durante l'intervallo di pausa dell'app, il che in alcuni casi prolungava il tempo di blocco di diversi secondi.

Con Android 16, Questi processi passano a una fase precedente del flusso di aggiornamentoIn altre parole, il sistema esegue la maggior parte dell'ottimizzazione prima di raggiungere il punto in cui è necessario sostituire i vecchi file con quelli nuovi. Quando si verifica la pausa critica, non resta che eseguire un rapido scambio di file, riducendo il tempo di blocco a poche decine di millisecondi.

Il vantaggio di questo approccio è duplice: da un lato, L'utente percepisce l'aggiornamento come quasi istantaneo. perché l'app non smette quasi mai di essere disponibile; d'altra parte, viene mantenuto lo stesso livello di sicurezza e coerenza nei dati, poiché le convalide e le ottimizzazioni continuano a essere eseguite, solo in un punto del processo meno scomodo per l'esperienza utente.

Impatto reale per gli utenti con molte app e per i telefoni cellulari modesti

Aggiornamenti Android 16

Su un telefono cellulare con poche applicazioni leggere, queste modifiche potrebbero passare inosservate. Se utilizzi solo poche app che si aggiornano occasionalmente e consumano poche risorse, potresti non aver mai pensato che gli aggiornamenti fossero un problema.Ma il quadro cambia notevolmente quando si parla di dispositivi con decine di app, giochi pesanti o servizi che vengono aggiornati frequentemente.

Sui telefoni in cui vengono utilizzate molte applicazioni in modo intensivo, Ridurre i tempi di inattività tra gli aggiornamenti significa meno blocchi brevi, meno salti anomali nell'interfaccia e un'esperienza complessiva molto più fluida.Inoltre, se una di queste app funge da servizio centrale o fornisce API ad altre applicazioni (ad esempio, client di messaggistica, librerie di sicurezza o app di sistema), ridurre al minimo il loro blocco durante gli aggiornamenti aiuta l'intera catena di app a continuare a funzionare normalmente.

Questo sviluppo è particolarmente interessante anche per l' dispositivi di fascia base o medio-bassadove l'hardware fatica a gestire installazioni di grandi dimensioni. Google non solo riorganizza i processi locali, ma collega anche questo miglioramento a un'altra funzionalità cruciale di Android 16: la compilazione cloud per accelerare l'installazione di nuove app, una svolta per i telefoni meno potenti.

Cloud compilation: app che si installano più velocemente grazie al cloud

Oltre ad accelerare gli aggiornamenti, Android 16 incorpora una funzionalità focalizzata sulla installazione iniziale di applicazioni e giochi, soprattutto su dispositivi modestiQuesta funzionalità è nota come cloud compilation e la sua missione è chiara: trasferire parte del lavoro pesante che in precedenza ricadeva interamente sul processore e sullo storage del telefono ai server di Google.

Quando installi un'app su Android, il sistema utilizza ART per eseguire il suo codice. Durante l'installazione, lo strumento dex2oat prende i file .dex dell'APK, che contengono il codice compilato, e genera diversi "artefatti dell'applicazione".Questi artefatti aiutano l'app ad aprirsi ed essere eseguita in modo più rapido ed efficiente e possono essere disponibili in diversi formati: file .vdex con metadati per convalidare il bytecode, file .odex con codice precompilato per metodi specifici o file .art con rappresentazioni interne di stringhe e classi che velocizzano l'avvio dell'app.

Sui telefoni cellulari più potenti, La generazione di questi artefatti è relativamente veloce, quasi trasparenteMa sui telefoni economici, con processori lenti e memoria lenta, questo processo può diventare un collo di bottiglia, soprattutto se l'APK include molti file .dex o è un gioco o un'app molto grande.

La proposta di Android 16 è semplice ma efficace: Invece di generare tutti quegli artefatti sul dispositivo, scaricali già precompilati da Google PlayOggigiorno la maggior parte degli utenti dispone di connessioni mobili e Wi-Fi abbastanza veloci, quindi in molti casi è più efficiente utilizzare la rete piuttosto che forzare il processore del telefono a lavorare per diversi secondi o addirittura minuti.

SDM e artefatti precompilati: il ruolo dei metadati Secure Dex

La build cloud di Android 16 si basa su un nuovo tipo di file: SDM sta per Secure Dex MetadataQuesti file SDM, scaricati insieme all'APK dal Play Store, contengono gli artefatti dell'applicazione già generati nell'infrastruttura di Google tramite dex2oat, in modo che il dispositivo non debba ripetere tale lavoro localmente.

Un dettaglio importante è quello I file SDM sono firmati con la stessa chiave dell'APKCiò consente al sistema di verificare che gli artefatti provengano da una fonte attendibile e non siano stati alterati, garantendo l'integrità e la sicurezza del processo. In questo modo, il telefono può installare l'applicazione direttamente utilizzando questi artefatti precompilati, velocizzando notevolmente l'installazione iniziale, soprattutto su hardware di fascia bassa.

In pratica, questo significa questo Android 16 può impedire l'esecuzione di dex2oat durante l'installazione in molti casiPoiché il lavoro più impegnativo è già stato svolto sui server di Google, il risultato è un minore sforzo per il processore, un consumo energetico inferiore durante l'installazione e tempi di attesa più brevi durante il download di app o giochi di grandi dimensioni con quantità significative di codice.

Tuttavia, l'intero sistema richiede che Google ha configurato il Play Store per generare e distribuire questi SDM in massa.Nelle fasi iniziali, la funzionalità potrebbe essere presente nel sistema ma non completamente attiva, proprio perché l'infrastruttura cloud deve essere adattata e implementata gradualmente. Non aspettatevi miracoli immediati su tutti i dispositivi compatibili: l'adozione sarà progressiva.

Relazione tra aggiornamenti rapidi e creazione di cloud

Sebbene possano sembrare due cose separate, Gli aggiornamenti senza interruzioni e la creazione di cloud sono strettamente correlati Poiché entrambi ruotano attorno a come e quando vengono generati e applicati gli artefatti di esecuzione delle app. Da un lato, Android 16 anticipa l'esecuzione di dexopt e dex2oat a fasi meno critiche del processo di aggiornamento, riducendo al minimo il tempo in cui l'app rimane bloccata.

Inoltre, Grazie alla compilazione su cloud, in molti casi questo lavoro non deve nemmeno essere eseguito sul dispositivo.Questo vale sia durante l'installazione iniziale che per alcuni aggiornamenti. Scaricando artefatti pronti all'uso, la combinazione di entrambi gli approcci rende sia l'installazione iniziale che gli aggiornamenti successivi più rapidi e meno invasivi.

Tutto ciò è in linea con un obiettivo fondamentale: Ottimizza Android per funzionare senza problemi anche su hardware modestiriducendo al contempo i tempi di inattività e mitigando gli effetti collaterali che gli aggiornamenti possono avere su altre app e servizi.

Altre modifiche in Android 16 che influiscono sulle prestazioni e sull'esperienza

I miglioramenti negli aggiornamenti e nelle installazioni non sono isolati. Android 16 include un lungo elenco di modifiche comportamentali che Riguardano sia le app che hanno come target la nuova versione (targetSdkVersion 36) sia il sistema operativo stesso.Molti di essi non sono direttamente correlati agli aggiornamenti delle app, ma influenzano la stabilità, le prestazioni o la coerenza dell'esperienza.

Nell'ambito dell'esperienza utente e del design, Android 16 consolida l'impegno verso le interfacce edge-to-edge rimuovendo l'opzione che consentiva di disabilitare questa modalità tramite l'attributo `windowOptOutEdgeToEdgeEnforcement` nelle app destinate al nuovo livello API. Se un'app è destinata ad Android 16 e viene eseguita su un dispositivo con questa versione, non sarà più in grado di disabilitare questo comportamento, quindi gli sviluppatori dovranno adattare i loro progetti per funzionare correttamente a schermo intero.

Ci sono anche cambiamenti significativi nella navigazione: I gesti predittivi per la schiena stanno diventando la norma per le app destinate ad Android 16Sui dispositivi con questa versione, `onBackPressed` non viene più richiamato, né il tasto KEYCODE_BACK viene inviato come in precedenza; le animazioni di sistema ora guidano l'utente alla posizione desiderata quando scorre indietro (home, attività precedente, ecc.). Gli sviluppatori che hanno acquisito il pulsante Indietro dovrebbero migrare alle nuove API di navigazione o, come soluzione temporanea, disabilitare il comportamento con l'attributo `android:enableOnBackInvokedCallback=false` nel manifest.

Cambiamenti tecnici chiave per gli sviluppatori

Ecco come installare la versione di anteprima di Android 16
Articolo correlato:
Come installare Android 16 Preview: guida completa e novità

Oltre l'esperienza visiva, Android 16 introduce modifiche al funzionamento interno delle attività pianificate, dei font e dei layout reattiviAd esempio, il metodo `scheduleAtFixedRate` modifica il suo comportamento: invece di eseguire tutte le esecuzioni mancanti quando un'app torna a un ciclo di vita valido, ne viene attivata solo una. Questo aiuta a prevenire picchi improvvisi di carico di lavoro e migliora le prestazioni generali, anche se gli sviluppatori dovrebbero verificare se la loro logica ne risente.

Per quanto riguarda il testo e i caratteri, L'attributo elegantTextHeight non ha più alcun effetto sulle app destinate ad Android 16I cosiddetti "font eleganti" stanno scomparendo, quindi è necessario pianificare un design tipografico coerente per lingue come l'arabo, il tailandese, il tamil o vari alfabeti indiani, senza dipendere da questo adattamento automatico.

Sui dispositivi con schermi di grandi dimensioni (tablet, dispositivi pieghevoli, desktop, automobili, TV…), Android 16 rafforza ulteriormente l'idea di design adattiviSu schermi con larghezza minima di 600 dp, le restrizioni di orientamento, ridimensionamento e proporzioni dichiarate nel manifest vengono ignorate. Ciò significa che l'app si espanderà fino a riempire l'intera finestra, senza pillarbox o orientamento verticale o orizzontale forzato. Solo i giochi, alcune eccezioni configurate dall'utente e gli schermi più piccoli sono esenti da questa regola.

Esiste una via di fuga temporanea: La proprietà android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY può essere dichiarata a livello di attività o di applicazione. per mantenere il vecchio comportamento sugli schermi di grandi dimensioni. Questa funzionalità scomparirà nelle versioni future (livello API 37), quindi è consigliabile iniziare ad adattare le interfacce fin da ora.

Notizie su salute, connettività e sicurezza

Android 16 rafforza anche i controlli su dati sulla salute e sull'attività fisicaI permessi BODY_SENSORS e BODY_SENSORS_BACKGROUND sono sostituiti da permessi più specifici nello spazio android.permissions.health, allineati con Health Connect. Le app che leggono dati sensibili come la frequenza cardiaca devono richiedere permessi granulari come READ_HEART_RATE e avere un'attività visibile per visualizzare la loro informativa sulla privacy, altrimenti rischiano che tali permessi vengano revocati dal sistema.

Nel campo del Bluetooth, Vengono introdotti nuovi intenti, come ACTION_KEY_MISSING e ACTION_ENCRYPTION_CHANGEPer gestire meglio la perdita di associazione e le modifiche alla crittografia, le app che gestiscono i dispositivi associati possono reagire con maggiore precisione quando le chiavi vengono perse, il collegamento viene nuovamente crittografato o i parametri di sicurezza cambiano, adattandosi alle potenziali differenze tra i produttori.

Inoltre, Tutte le app destinate ad Android 16 possono ora rimuovere l'associazione Bluetooth dai dispositivi associati tramite un'API pubblica in CompanionDeviceManagerLa chiamata removeBond(int) consente di revocare l'associazione Bluetooth collegata a un'associazione CDM e l'app può ascoltare ACTION_BOND_STATE_CHANGED per tenere traccia delle modifiche nello stato di associazione.

In termini di sicurezza, Android 16 continua a rafforzare il sistema. MediaStore#getVersion() ora restituisce un valore univoco per appCiò impedisce l'uso di tale stringa come meccanismo di fingerprinting tra applicazioni. Anche l'iniziativa "Secure Intents" sta progredendo, con l'obiettivo di rafforzare il sistema di risoluzione degli intenti: quando attivati ​​tramite l'attributo intentMatchingFlags, gli intenti espliciti devono corrispondere al filtro del componente di destinazione e gli intenti senza un'azione non possono corrispondere ai filtri, a meno che non vengano utilizzati flag specifici come allowNullAction.

Questo controllo più rigoroso può essere abilitato a livello di applicazione o componente (attività, servizio, ricevitore…), con flag come enforceIntentFilter o nessunoInclude anche messaggi di log per il debug degli intent bloccati. L'idea è di passare gradualmente a un modello in cui, nelle versioni future, questa risoluzione rigorosa sarà il comportamento predefinito.

Protezioni aggiuntive: GPU Mali, rete locale e foto

Un altro ambito in cui Android 16 rafforza la sicurezza è accesso alla GPU Mali sui dispositivi PixelGli IOCTL più vecchi o quelli destinati esclusivamente allo sviluppo sono bloccati e gli IOCTL di profilazione sono limitati ai processi shell o alle app debuggabili. Questo non dovrebbe influire sulle app normali, sulle API grafiche standard come Vulkan o OpenGL o sugli strumenti di profilazione ufficiali, ma limita i potenziali vettori di attacco a livello di kernel. Se un'app tenta di utilizzare IOCTL proibiti, il sistema genera dinieghi SELinux e Google consiglia di segnalare il problema ai canali di sicurezza appropriati.

Nell'ambito della privacy, Android 16 compie un passo avanti molto importante con la Protezioni della rete localeAttualmente, qualsiasi app con autorizzazione di accesso a Internet può accedere ai dispositivi sulla LAN, aprendo la strada a tecniche di fingerprinting o utilizzando la rete locale come proxy di posizione. Il nuovo approccio prevede che tale accesso sia protetto da un'autorizzazione di runtime specifica all'interno del gruppo di dispositivi vicini.

L'implementazione è graduale, con una fase di abilitazione (Q2 25) in cui Le app possono attivare restrizioni tramite il framework di compatibilità e testare i loro casi d'usoQuando il flag RESTRICT_LOCAL_NETWORK è impostato per un pacchetto, il traffico da e verso gli indirizzi di rete locale (unicast, multicast o broadcast su TCP e UDP) genererà errori se l'app non dispone delle autorizzazioni appropriate, mentre il normale traffico Internet continua a funzionare.

In questa fase iniziale, Per riottenere l'accesso alla LAN, l'app deve semplicemente dichiarare e ottenere l'autorizzazione NEARBY_WIFI_DEVICES.Tuttavia, in futuro verrà introdotto un permesso specifico per il gruppo dei dispositivi vicini. Reti come 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, link locali 169.254.0.0/16, intervalli CGNAT 100.64.0.0/10 e indirizzi multicast (224.0.0.0/4, ff00::/8), tra gli altri, sono considerati "locali".

Infine, Android 16 regola la gestione dell'accesso a foto e video. Quando un'app che ha come target l'SDK 36 richiede autorizzazioni per i contenuti multimediali su un dispositivo con Android 16 Se l'utente sceglie di concedere l'accesso solo agli elementi selezionati, le foto e i video generati da quell'app appariranno preselezionati nel selettore foto. L'utente può deselezionarli se lo desidera, revocando così l'accesso dell'app a quegli elementi specifici.

Tutti questi cambiamenti (aggiornamenti quasi istantanei, compilazione cloud, nuove autorizzazioni, maggiore controllo sugli intenti, sicurezza migliorata della GPU e della rete locale, nonché miglioramenti in termini di integrità, connettività e progettazione adattiva) puntano allo stesso obiettivo: per rendere Android 16 una piattaforma più fluida, prevedibile e sicura sia per gli utenti che per gli sviluppatori.

Articolo correlato:
Android 16: cos'è la modalità Desktop per PC?

Man mano che più modelli di marchi come SamsungCon l'arrivo di questa versione sui telefoni Xiaomi, Motorola, OnePlus e, naturalmente, Pixel, diventerà sempre più comune che l'installazione o l'aggiornamento di un'app non sia più un momento di "dita incrociate" ma una semplice procedura di cui a malapena ci si accorge mentre si continua a utilizzare normalmente il telefono. Condividi queste informazioni in modo che altri utenti possano rimanere aggiornati sulle nuove funzionalità di Android 16.


Seguici su Google News