Google добавляет сжатие Brotli для более быстрого OTA-обновления Android

Google добавляет поддержку алгоритма сжатия Brotli для более быстрого OTA-обновления Android. Google уже использует Brotli для загрузки приложений из Play Store

Размер OTA-обновления — это не то, о чем большинство людей действительно думают, поскольку обновления обычно автоматически загружается в фоновом режиме через Wi-Fi, но на самом деле это очень важно для сервера конец. Экономия даже нескольких мегабайт данных может иметь огромное значение, поскольку выигрыш потенциально умножается на сотни тысяч пользователей. С этой целью Google был работающий к приносить его Бротли алгоритм сжатия для Android для более быстрого обновления OTA.

Что такое алгоритм сжатия Бротли?

Brotli — это алгоритм сжатия, разработанный несколько сотрудников Google это значительно улучшает степень сжатия по сравнению с другими алгоритмами, такими как GZIP, а также демонстрирует впечатляющую скорость распаковки. Обратной стороной является то, что сжатие файлов с помощью алгоритма Бротли происходит довольно медленно, поэтому его обычно избегают при сжатии динамического содержимого.

Тесты сжатия. Источник: Йерун Оомс

С другой стороны, любой статический контент, такой как веб-страница подходят для сжатия с помощью алгоритма Бротли. Сюда входят файлы приложений, загруженные из магазина Google Play. Поскольку их уже более 2 миллиарда Android-устройств В настоящее время удаление даже небольших объемов данных при подаче файла исправления из Play Store может привести к огромной выгоде для Google. Алгоритм Бротли при использовании для Загрузки приложений из Play Маркета, экономит пользователей 1,5 петабайта (1,5 миллиона гигабайт) данных каждый день.

Алгоритм сжатия Бротли в сравнении с GZIP для загрузок из Play Store. Кредиты: Студенческий блог Google

Как Brotli улучшит OTA-обновления?

Теперь OTA-обновления предоставляются пользователям не так часто, как обновления приложений Play Store, но они, как правило, намного крупнее по сравнению с ними. Например, полный пакет OTA до сжатия может иметь размер 2 ГБ. Сколько данных можно сохранить из пакета OTA?

Разработчик LineageOS для Motorola Moto G4 сообщает, что им удалось сэкономить 50 мегабайт на неофициальной сборке. Учитывая тот факт, что средняя сборка LineageOS Moto G4 составляет около 350 Мегабайт, это довольно значительное улучшение. Если даже 10 МБ данных сохраняется на каждом OTA, то общее сокращение пропускной способности может быть значительным, поскольку Google необходимо предоставлять пакет обновлений сотням тысяч пользователей.

Более того, поскольку Brotli также обеспечивает улучшенную скорость распаковки, это также означает, что обновления OTA могут применяться быстрее. OTA-обновления отправляются на каждое устройство в виде архива, поэтому прежде чем патчи можно будет сделать через bsdiff, архив необходимо распаковать. Поскольку распаковка Brotli происходит довольно быстро, это означает, что распаковка архива также будет быстрой, что приведет к более быстрому обновлению системных файлов.

Однако пользователи устройств со схемами разделов A/B, таких как Google Pixel/Pixel 2, Essential Phone, Razer Phone, Мото Z2 Форс, и Сяоми Ми А1 вероятно, не заметит этого конкретного улучшения, поскольку обновления автоматически применяются к неактивному разделу в фоновом режиме. Тем не менее, даже для этих устройств меньший пакет обновлений OTA из-за сжатия Brotli приведет к снижению пропускной способности для пользователя.


Спасибо модератору форума XDA на пенсии/признанному разработчику. Кибоженикс за подсказку!