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

發佈留言