差分算法的作用是什么

来源:9-4 Tinker 如何实现热修复?

慕九州6385248

2019-11-27

请问老师,既然 tinker 是把整个 dex 下发,那为什么还要做差分以及合成呢,是为了合成的时候,通过差分的标记,合成哪些东西?

写回答

1回答

bennyhuo

2019-11-28

差分后包会小,下发消耗流量小,更新成功率也会变高。

0
5
bennyhuo
回复
慕九州6385248
同学,你先理解一下差分的目的。差分不是热修复的必要环节,任何版本下发都可能用到差分,例如你的app的省流量更新。tinker加载的包是需要整包下发的,正常构建也是要构建出来整包的,你不做差分流程一样可以跑通。差分的好处就是因为打了一些我不需要修改的类进去,导致包太大,通过差分可以比对把与设备上的版本相同的部分尽可能去掉,留下需要修改的,这样用户下载的包就是差分包,这个包比整包一般要小很多,省流量啊,而且包越小下载成功率越高,这就是好处。下载完再在客户端用客户端的包与差分包合成整包加载即可。
2019-11-30
共5条回复

大厂资深面试官 带你破解Android高级面试

改变视野和思维 深度与广度兼备的 Android 进阶面试指导课程

1636 学习 · 222 问题

查看课程