gpt4 book ai didi

android - 为什么 Android 应用程序更新/补丁大小与其安装文件一样?

转载 作者:可可西里 更新时间:2023-11-01 14:03:00 25 4
gpt4 key购买 nike

尝试从 PlayStore 更新时,我也有同样的疑惑。

一般来说,对于 Windows,当它更新时,下载文件并为它们打补丁。从大小的角度来看,这些与其大约 3.5 GB 的设置相比要小得多。

那么为什么它不适用于 ANDROID 应用程序?例如。 WhatsApp 的任何更新几乎等同于其原始安装文件 (~18 MB)。

最佳答案

尽管 Play 商店称它们为更新,但您实际上需要重新下载整个 Android 应用。在某种程度上,它仍然是一个更新,因为您确实升级到更新的 apk 版本,但并不完全是您想要的方式。这会占用您的带宽,但很容易。

但是,您应用的设置(共享首选项)和数据(SQLite 数据库或自定义文件)在此更新/安装过程中仍然存在,如果您手动卸载并再次安装应用的新版本,情况就不会如此。

如果应用的数据库模式在两个版本之间发生变化,Android 会在启动时通过调用生命周期方法 onUpgrade() 通知应用它不是全新安装应用程序有机会升级之前版本遗留的数据。

当你将它与 Windows 进行比较时,操作系统和更新服务器都来自 Microsoft,它们必须协同工作以确定需要推送的内容(.dll、.ini、.sys 等)、更新包的格式/压缩和安全隐患(某种加密以防止任何拦截流量的人注入(inject)恶意软件)。

Google 尚未为 Play 商店提供此类标准更新机制 查看更新 我相信其他所有应用商店也是如此。显然,开发人员无法自行推出更新,因为更新由 Google 在设备端和服务器端处理。

但是,开发人员当然不会对此感到不满。测试新的 apk 更方便,查看它的工作和上传相同,而不是摆弄要推送的更改并在您错过某些内容时破坏应用程序。反正带宽很便宜。


我最近在 Google I/O 2012 发现了这一点Google 宣布他们正在使用某种delta 编码算法 开发智能更新 技术。这个想法是计算 DIFF在两个 APK 之间(有点像我们对两个源代码文件之间的文本所做的),在服务器端创建一个补丁,并且只通过网络发送它。

AndroidPolice 报道,该功能当年晚些时候在 Play 商店上线TechCrunch .

Developers, Google said at I/O, won’t have to do anything to enable this feature and according to the folks over at Android Police, this feature quietly went live late last night or early this morning.

您可以在 this 中看到它的实际效果视频。请注意一旦进度条仅达到 40-50%,应用程序将如何开始安装。这绝对很棒,因为这不仅为 Google 节省了数 TB 的带宽,而且其纯服务器端方法意味着开发人员无需摆弄任何东西。也许,这就是它在 Android 开发者网站上未被提及的原因,因此需要时间才能被发现。


话虽如此,我的个人经历似乎与您的不谋而合。我看到我的大部分应用程序更新几乎都下载了整个应用程序。可能是我下载频率不高的缘故。跳过几个小的修改对我来说并不罕见,也许应用程序更改太多以至于无法从生成的补丁中获得任何规模的好处。

关于android - 为什么 Android 应用程序更新/补丁大小与其安装文件一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32842935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com