Google sta aggiungendo il supporto per l'algoritmo di compressione Brotli per fornire aggiornamenti Android OTA più rapidi. Google utilizza già Brotli per i download delle app dal Play Store
La dimensione di un aggiornamento OTA non è qualcosa a cui la maggior parte delle persone pensa veramente, dal momento che si tratta degli aggiornamenti in generale scarica automaticamente in background tramite WiFi, ma in realtà è un grosso problema sul server FINE. Risparmiare anche pochi megabyte di dati può fare un’enorme differenza poiché i guadagni vengono moltiplicati potenzialmente per centinaia di migliaia di utenti. A tal fine, Google è stato lavorando A Portare suo Brotli algoritmo di compressione su Android per aggiornamenti OTA più rapidi.
Cos'è l'algoritmo di compressione Brotli?
Brotli è un algoritmo di compressione sviluppato da a pochi dipendenti di Google che migliora significativamente il rapporto di compressione rispetto ad altri algoritmi come GZIP dimostrando anche un'impressionante velocità di decompressione. Lo svantaggio è che la compressione dei file con l'algoritmo Brotli è piuttosto lenta, quindi generalmente viene evitata quando si comprime contenuto dinamico.
Benchmark di compressione. Fonte: Jeroen Ooms
D'altra parte, qualsiasi contenuto statico come pagine web sono adatti per essere compressi tramite l'algoritmo Brotli. Ciò include i file dell'applicazione scaricati da Google Play Store. Visto che sono ben finite 2 miliardi di dispositivi Android là fuori, eliminare anche piccole quantità di dati quando si fornisce un file di patch dal Play Store può comportare enormi guadagni per Google. L'algoritmo Brotli, quando utilizzato per Download dell'app Play Store, salva gli utenti 1,5 petabyte (1,5 milioni di gigabyte) di dati ogni giorno.
In che modo Brotli migliorerà gli aggiornamenti OTA?
Ora, gli aggiornamenti OTA non vengono forniti agli utenti con la stessa frequenza di un aggiornamento dell'app Play Store, ma tendono ad essere molto più grandi in confronto. Ad esempio, un pacchetto OTA completo prima della compressione può avere una dimensione di 2 GB. Quanti dati possono essere salvati da un pacchetto OTA?
Uno sviluppatore LineageOS per il Motorola Moto G4 riferisce di esserci riusciti risparmiare 50 Megabyte su una build non ufficiale. Considerando il fatto che la build media di Moto G4 LineageOS riguarda 350 Megabyte, è un miglioramento piuttosto drammatico. Se su ciascuna OTA vengono salvati anche solo 10 MB di dati, la riduzione complessiva della larghezza di banda può essere significativa poiché Google deve fornire il pacchetto di aggiornamento a centinaia di migliaia di utenti.
Inoltre, poiché Brotli offre anche velocità di decompressione migliorate, ciò significa anche che gli aggiornamenti OTA possono essere applicati più rapidamente. Gli aggiornamenti OTA vengono inviati a ciascun dispositivo come archivio, quindi prima che le patch possano essere effettuate tramite bsdiff, l'archivio deve essere decompresso. Poiché la decompressione di Brotli è piuttosto rapida, anche la decompressione dell'archivio sarà rapida, con conseguente applicazione più rapida delle patch ai file di sistema.
Tuttavia, gli utenti che utilizzano dispositivi con schemi di partizione A/B come Google Pixel/Pixel 2, Essential Phone, Razer Phone, Moto Z2 Forza, E Xiaomi Mi A1 probabilmente non noterai questo particolare miglioramento poiché gli aggiornamenti vengono applicati senza problemi sulla partizione inattiva in background. Tuttavia, anche per questi dispositivi, il pacchetto di aggiornamento OTA più piccolo dovuto alla compressione Brotli comporterà una larghezza di banda ridotta per l'utente.
Grazie al moderatore del forum in pensione XDA/sviluppatore riconosciuto cybojenix per la mancia!