Google Play商店上的智能应用更新:它是如何工作的? [英] Smart App Updates on Google Play Store: how does it work?

查看:173
本文介绍了Google Play商店上的智能应用更新:它是如何工作的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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



任何人都知道:


  • 对于开发人员而言,有什么技术影响(如果有的话)
    (我想假设一个新的全尺寸的APK建立在用户的设备上,或者未改变的数据存储在其他地方?)
  • 是否从未使用过的数据重新使用以前的版本仅限于某些资源? (如资产文件夹中的文件)


解决方案

循序渐进:


  1. > GDIFF 是一种delta编码算法,用于计算
    旧应用程序版本与新版本之间的差异。这是在服务器
    端完成的。此计算差异通常称为
    修补程序文件。

  2. 修补程序文件将传输到设备。

  3. Google Play商店应用程序使用补丁文件和旧应用程序构建应用程序的新版本。

  4. 新版本安装在设备上。

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


The Google Play store supports (since Aug 2012) a new feature called Smart App Updates, that allows downloading only the necessary "delta" when upgrading an app.

I have found no documentation for developers regarding this feature, thus I don't know how to optimize my app to make sure it benefits from this great mechanism.

So, does anyone know:

  • What are the technical impacts (if any) that would be good to know for the developers? (I suppose a new, full-size APK is built on the user's device, or maybe the unchanged data is stored somewhere else?)
  • Is the reutilization of unchanged data from the previous versions limited to certain resources? (like files in the asset folder)

解决方案

Step by step:

  1. GDIFF, a delta encoding algorithm, is used to compute the difference between the old application version and the new one. This is done on the server side. This computed difference is usually referred to as a patch file.
  2. The patch file is transferred to the device.
  3. The Google Play Store app uses the patch file and the old application to construct the new version of the application.
  4. The new version is installed on the device.

Currently, patch size is 25% of the new application version size (on average). Thus, you get 75% traffic saving on average. The trade off is that you have to do more computations on the end device to deploy the received patch, depending on the delta encoding technique. GDIFF is extremely simple, and has minimal overhead. The difference is computed between APK packages (all information in the APK is used). As was mentioned, developers don't need to do anything to benefit from this new feature.

这篇关于Google Play商店上的智能应用更新:它是如何工作的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆