Sophix何时走即时生效热修复,何时走冷启动修复?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这是根据代码变动情况决定的。
代码若变动小,一般会走即时生效热修复,而如果代码变动大,比如在已存在的类中新增方法,修改了so等情况,都会走冷启动。这是由打包工具自行检测代码变化来判断的,开发者无需考虑。
如想测试即时生效,可以:
1、补丁工具可以不勾选强制冷启动,这样就由工具自行判断是否生成冷/热补丁。
2、不要改首启动页,加载补丁去修复也是需要时间的。
3、可以试下改动都是public修饰的类或方法,尽量不要改动static。
4、资源或so改动一般都是冷启动生效的。
5、实际建议使用冷启动补丁,热补丁可能少数机型加载有问题,如果使用热补丁,尽量全面测试后再发布。
上述使用时补丁还未即时生效,想了解具体细节,可以阅读免费电子版《深入探索Android热修复技术原理》,其中代码修复的章节有详细解释。
并且,在运行期如果在所运行的设备上检测到不支持即时生效热修复,也会在该机型上走强制冷启动修复。
而如果对稳定性有极高要求,可开启强制冷启动选项,这样任何变动都会按强制冷启动方式打包。
冷启动:app重启
热启动:app无需重启
更多官方信息
EMAS官网介绍:https://www.aliyun.com/product/emas
Devops:https://www.aliyun.com/product/emascrash/mobile_devops
移动热修复:https://www.aliyun.com/product/hotfix
移动测试:https://www.aliyun.com/activity/emas/mqcexpert
移动推送:https://www.aliyun.com/product/cps
HTTPDNS:https://www.aliyun.com/product/httpdns
EMAS 控制台: https://emas.console.aliyun.com/products
你好,我是AI助理
可以解答问题、推荐解决方案等
评论
全部评论 (0)