开发者社区 问答 正文

【移动热修复】Sophix何时走即时生效热修复,何时走冷启动修复?

Sophix何时走即时生效热修复,何时走冷启动修复?

展开
收起
EMAS支持组 2022-09-27 13:06:45 375 发布于辽宁 分享
分享
版权
1 条回答
写回答
取消 提交回答
  • 这是根据代码变动情况决定的。

    代码若变动小,一般会走即时生效热修复,而如果代码变动大,比如在已存在的类中新增方法,修改了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

    2022-09-27 13:18:01 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等