Tinker迭代2.0简述

2019-01-15  本文已影响0人  漫步_蜗牛

为何使用热修复?

项目开发中难免会有一些问题,需要修改,直接进行发版的话成本较高。这时候我们就需要一个可以在不进行版本更新,就可以修复问题的工具。所以说,热修复的定位就是对一些非紧急,需要解决的bug进行修复的辅助工具。

什么是Tinker?为何选用它?

总的来说:

  1. AndFix作为native解决方案,首先面临的是稳定性与兼容性问题,更重要的是它无法实现类替换,它是需要大量额外的开发成本的;
  2. Robust兼容性与成功率较高,但是它与AndFix一样,无法新增变量与类只能用做的bugFix方案;
  3. Qzone方案可以做到发布产品功能,但是它主要问题是插桩带来Dalvik的性能问题,以及为了解决Art下内存地址问题而导致补丁包急速增大的。

特别是在Android N之后,由于混合编译的inline策略修改,对于市面上的各种方案都不太容易解决。而Tinker热补丁方案不仅支持类、So以及资源的替换,它还是2.X-8.X(目前也支持9.0)的全平台支持。并且Tinker已运行在微信的数亿Android设备上。

已知问题

理想很美好,愿世上没有bug,or Tinker可以解决我们遇到的所有问题,但就几次线上补丁的发布以及最终结果来看,他都或多或少有以下几个问题:

对我们有何影响?如何解决

上一篇 下一篇

猜你喜欢

热点阅读