Android Update Engine 分析(二十)为什么差分包比全量包小,但升级时间却更长?

在这里插入图片描述

本文为洛奇看世界(guyongqiangx)原创,转载请注明出处。

原文链接:https://blog.csdn.net/guyongqiangx/article/details/132343017

0. 导读

时不时有同学在 OTA 讨论群和 VIP 答疑群问升级速度的问题,其中一个典型的问题是:

为什么差分包比全量包小,但升级时间却更长?

与几百 M 甚至几个 G 的全量包相比,差分包相对较小,有时候甚至小到只有几个 M,这么小的差分包,意味携带的 payload 数据很少,写入很少的数据耗时应该很少才是。但为什么现实中差分升级时,差分包很小,但升级时间却比大很多的全量包升级更长。

前段时间又有类似话题出现在 VIP 答疑群,几经讨论,这个问题算是彻底弄清楚了。本篇专门探讨这个问题为你揭晓答案。

本文中,全量升级又称为整包升级,差分升级又称为增量升级。因此:

  • 全量升级 = 整包升级,全量包 = 整包
  • 增量升级 = 差分升级,增量包 = 差分包

本文基于 android-11 进行演示,但也适用于其它支持 A/B 分区升级的 Android 版本。

核心代码

猜你喜欢

转载自blog.csdn.net/guyongqiangx/article/details/132343017
今日推荐