热重载开关位于模拟器顶部工具栏“闪电图标”或项目右键→“运行配置”中取消勾选;关闭后仍会整页刷新编译,onload/onunload等生命周期真实触发,更贴近真机行为。

热重载开关在哪找
热重载默认开启,但不是所有场景都适合——比如你在调试 onLoad 生命周期、观察页面栈变化、或排查 uni.navigateBack 后状态残留问题时,热重载反而会掩盖真实行为。HBuilderX 提供了两种关闭入口:
• 模拟器顶部工具栏点击「热重载」图标(闪电符号),灰色即为关闭状态;
• 项目右键 → 「运行配置」→ 取消勾选「启用热重载」。
为什么关掉热重载后代码修改仍生效
这是常见误解:关闭热重载 ≠ 关闭自动编译。HBuilderX 在保存文件后仍会触发完整编译(尤其是改了 pages.json、app.js 或未被引用的 JS 文件),只是不再做「局部注入更新」。你看到的「页面变了」,其实是整页刷新的结果,此时 onUnload 和 onLoad 都会真实触发,更贴近真机逻辑。
关闭热重载后 Devtools 数据不更新怎么办
尤其在百度/鸿蒙开发者工具中,关闭热重载后仍可能遇到 Vue Devtools 显示旧数据的问题。这不是 bug,而是工具链隔离导致的状态不同步:
• 百度开发者工具:切换到「依赖分析编译模式」(而非「隔离编译」);
• 鸿蒙设备(HBuilderX 4.41+):确保已启用「控制台回源代码」功能,且路径不含中文或过长(建议总路径长度 ≤110 字符);
• 微信开发者工具:若仍有同步异常,直接重启工具并清空缓存,热重载开关本身不影响其基础通信链路。
哪些情况必须关热重载
以下场景不关热重载,调试结果大概率失真:
• 测试 uni.reLaunch 后页面栈是否清空、onUnload 是否批量触发;
• 调试 nvue 页面的原生渲染时机,热重载会跳过部分原生层初始化;
• 验证 plus.runtime.restart() 在 Android 上的生命周期表现,热重载会干扰 Activity 重建流程;
• 查看鸿蒙元服务中 app.json5 配置变更是否生效,热重载无法触发热更新逻辑。











