Google Play Store 改进, 缩减 Apps 更新大小

Google Play Store Download

Google Play 推出新 algorithm “bsdiff” 可以有效减少 “Apps 更新” 时的数据传输量,既可加快下载进度,又可为用家节省数据用量。

改进 Delta 下载, 缩减 50%
透过 Play Store 为 Apps 进行更新时,Play Store 会跟据已安装版本和新版本的分别,只下载两者的改变部份 (Delta),不用全个下载。Play Store 上 98% 的 Apps 都已支援这个 “Delta” 形式下载。

最新的 “bsdiff” algorithm 进一步改善 Delta 下载,可再缩减约 50% 大小。以 Chrome 为例子,由 M46 升级至 M47 的 Major Update,使用旧方法 需要 22.8MB,而用 bsdiff 就只需 12.9MB。而 M47 的 Minor Update,旧方法就要 15.3MB,bsdiff 就只需 3.6MB。从数字看到,bsdiff 十分有效。

不过,Apps 本身编译时需要采用 Uncompressed native libraries 才可达到这效果,若果Apps 本身编译时已是 Compressed Native Libraries 就只会有 5% 减少。

Play Store 列出下载大小
Google Play 界面亦作相应改动,在 App 界面上会列出 Download Size,而不是 APK 档案大小。(透过 Play Store 的压缩技术,Download Size 往往细过 APK 的档案大小)。而当 Apps 有更新时,画面上就会列出 Update Size。这项新改动已经陆续推出。

Google Play Store Download SizeGoogle Play Store Update Size

对于 Developers 来说,也要留意在编译 Apps 时,采用 “Uncompressed Native Library” 虽然得出来的 APK 档案会较 “Compressed Native Library” 大一些。但用家经过 Play Store 下载安装时,两者下载数据是没有大分别,但当之后有版本更新时,采用 “Uncompressed Native Library” 就可受惠于 Play Store 的压缩技术,可以大幅减少下载数据。还有就是采用 “Uncompressed Native Library” 在装置内所占的空间 (Disk Size) 亦会较少。

下面是 Chrome 的例子。

Compressed Native Library Uncompressed Native Library
APK Size 39MB 52MB (+25%)
Download size (install) 29MB 29MB (no change)
Download size (update) 29MB 21MB (-29%)
Disk size 71MB 52MB (-26%)

Android Developers Blog 内有详细介绍如何缩减下载大小,App Developers 可以看看。
https://android-developers.blogspot.hk/2016/07/improvements-for-smaller-app-downloads.html

发布留言