热修复(Hotpatch)用于在不发布新版本的情况下热修复线上故障(Bug)。
使用场景
每一次热修复,都是一次 紧急发布。因此,mPaaS 限定了热修复的使用范围是:在来不及发布版本的情况下,需要立刻解决线上客户端问题。
根据最佳实践,热修复只用于修复严重的、影响面大的、具有高可复现性的问题。包括但不仅限于以下情况:
高概率的闪退
严重的 UI 问题
可能造成资损与用户投诉的故障
客户端某些功能不能使用
监管审查导致的紧急修改
使用说明
目前 iOS 热修复功能仅支持专有云环境,公有云环境中无法使用 iOS 热修复功能。
目前 Android 支持两种热修复方式,分别为 DexPatch 和 InstantRun。
使用热修复涉及到调用 MDS 的更新发布接口,会产生相应的接口调用费用。有关接口调用的计费说明,参见 产品定价 中的实时发布计费项说明 。
DexPatch 和 InstantRun 对比
对比项 | DexPatch | InstantRun |
包大小 | 无需插桩,没有变化 | 需要插桩,体积变大 |
是否立即生效 | 否,需要重启 | 特定条件下立即生效, 重启必定生效 |
是否支持 so 文件修复 | 不支持 | 支持 |
是否支持资源文件修复 | 不支持 | 支持 |
额外依赖 | 无 | 依赖 Gradle 插件插桩 |
说明
两种热修复不能在同一个版本内混合使用,可以跨版本更换方案。
文档内容是否对您有帮助?