19

Google Play 商店支持(自 2012 年 8 月起)一项名为智能应用更新的新功能,该功能允许在升级应用时仅下载必要的“增量”。

我没有为开发人员找到有关此功能的文档,因此我不知道如何优化我的应用程序以确保它受益于这个伟大的机制。

那么,有没有人知道:

  • 有哪些技术影响(如果有的话)对开发人员来说很重要?(我想在用户的设备上构建了一个新的全尺寸 APK,或者未更改的数据可能存储在其他地方?)
  • 以前版本中未更改数据的再利用是否仅限于某些资源?(如文件asset夹中的文件)
4

2 回答 2

22

一步步:

  1. GDIFF是一种增量编码算法,用于计算旧应用程序版本与新应用程序版本之间的差异。这是在服务器端完成的。这个计算出来的差异通常被称为补丁文件。
  2. 补丁文件被传输到设备。
  3. Google Play Store 应用程序使用补丁文件和旧应用程序来构建应用程序的新版本。
  4. 新版本已安装在设备上。

目前,补丁大小是新应用程序版本大小的 25%(平均)。因此,您平均可以节省 75% 的流量。权衡是您必须在终端设备上进行更多计算才能部署接收到的补丁,具体取决于增量编码技术。GDIFF 非常简单,并且开销最小。差异是在 APK 包之间计算的(使用 APK 中的所有信息)。如前所述,开发人员无需做任何事情即可从这一新功能中受益。

于 2012-10-13T23:03:25.737 回答
7

没有文档的原因是因为它都是 100% 由谷歌在服务器端完成的,没有任何外部交互。开发人员根本不应该担心这个功能。只需开发您通常会的应用程序即可。

公平地说,我不相信他们希望任何人知道它是如何工作的,因为我假设这是他们知识产权的一部分。

于 2012-10-12T14:42:42.203 回答