Размер обновлений Android-приложений значительно уменьшился
Google объявил Сегодня компания внедрила новый метод обновления, называемый пошаговым исправлением, который уменьшает размер обновлений приложений на Android в среднем на 65%.
Компания начала использовать алгоритм bsdiff в начале этого года, чтобы уменьшить размер обновлений приложений в среднем на 47% по сравнению с полным размером приложения Android.
Новый метод внесения исправлений «файл за файлом», о котором Google объявила сегодня, улучшает это значение в среднем до 65%, а в некоторых случаях до 90%.
Google Play отправляет на устройство патч, описывающий разницу между старой и новой версиями приложения, когда используется пошаговое исправление.
Пофайловое исправление
При пошаговом обновлении приложения для обновления приложения на устройстве Android используется следующий процесс:
- Google распаковывает старый и новый файл для вычисления дельты с помощью bsdiff.
- Патч применяется на следующем этапе, распаковывая старый файл, применяя дельту (различия) и сжимая полученные данные в новый файл.
- Затем Google проверяет, что новый файл идентичен файлу, изначально загруженному разработчиком в Play Store.
Google провел несколько тестов производительности, сравнивая старый и новый методы исправления файлов друг с другом. В результате пошаговая установка исправлений значительно уменьшила размер исправления по сравнению с методом bsdiff.
Netflix возглавил список, уменьшив размер патча на 92% до 1,2 мегабайта по сравнению с исходным размером 16,2 мегабайта. Размеры патчей упали между 32% и 92% от исходного размера приложения, в то время как при использовании метода bsdiff он упал только между 9% и 81%.
Как вы уже могли заметить, у этого метода есть недостаток. Поскольку файлы необходимо распаковывать и повторно сжимать на устройстве, во время обновлений требуется больше вычислительной мощности.
Google отмечает, что процесс занимает около 1 секунды на мегабайт на устройствах 2015 года выпуска или новее и обычно дольше на старых устройствах.
Однако есть один компромисс; на устройстве требуется дополнительная вычислительная мощность. На современных устройствах (например, с 2015 года) повторное сжатие может занимать чуть больше секунды на мегабайт, а на более старых или менее мощных устройствах — дольше. На данный момент анализ показывает, что в среднем, если размер патча уменьшается вдвое, время, затрачиваемое на его применение (которое для файлового файла включает повторное сжатие), удваивается.
Компания приняла решение пока ограничить новый метод установки исправлений автоматическими обновлениями. Эти обновления выполняются в фоновом режиме и поэтому не должны сильно влиять на производительность устройства.
На данный момент мы ограничиваем использование этой новой технологии исправления только автоматическими обновлениями, то есть обновлениями, которые происходят в фоновом режиме, обычно ночью, когда ваш телефон подключен к источнику питания, и вы вряд ли будете его использовать. Это гарантирует, что пользователям не придется ждать завершения обновления дольше обычного при обновлении приложения вручную.
Уменьшение размера загрузки за счет увеличения времени обновления на устройстве.
Теперь ваша очередь : вы бы променяли размер обновления на время?
