Android App Updates 新技术 File-by-File patching 可减省 65% 数据量

Google 在年初宣布采用了新的运算法 bsdiff algorithm 可以将 App Update 所需的数据量大幅减省,较一整个 APK 的数据量达 47%。

Today, we’re excited to share a new approach that goes further — File-by-File patching. App Updates using File-by-File patching are, on average, 65% smaller than the full app, and in some cases more than 90% smaller.

最新 Google 再加入了新技术 File-by-File patching,可以较一整个 APK 更新节省达 65% 数据量,在部份情况更可达 90%。对用家而言,更新 App 时用少了数据当然好呢。

In order to get the new version of the app, Google Play sends your device a patch that describes the differences between the old and new versions of the app.

解压, 比较, 更新, 再压缩
Android Apps 是 APK 档案形式发布,APK 档案本身就是一个压缩档案,内里包含着各个不同的档案。File-by-File patching 就是逐一比对内里的档案并只下载当中有新增或修改的部份。由于不能直接比较已压缩的档案,所以过程需要将新档案和旧档案解压,再计算找出两者之间的分别。跟着就可以将旧档案解压,加上改动的部份之后再进行压缩。

由于需要涉及压缩和运算程序,所以需要耗用装置的运算能力,对于一些新的装置 (例如 2015 或之后推出),重新压缩 1MB 只需约 1秒,较旧的装置则需要多一点时间。下面是一些 Apps 更新方法的比较,File-by-File Patch 明显可以减省更多数据量。

App Updates File by File Patching

现在这个 File-by-File Patching 新方法只会应用于 Auto-Updates,即是在背景运行的情况,例如半夜装置在充电情况下用家并不在使用装置时,这样可减少对用家使用装置的影响。

Source: Android Developers

发布留言