VS Code中Flutter Hot reload失效 触发热重启耗时过长如何解决
Flutter VS Code Hot reload 自动触发Hot restart 问题解决方案

1 代码逻辑排查
- 检查是否存在非const的顶层/全局变量初始化逻辑,或者main函数中
runApp()之前存在未用WidgetsFlutterBinding.ensureInitialized()正确包裹的异步逻辑,这类逻辑会导致Hot reload直接降级为Hot restart。 - 确认修改的代码是否属于根组件构造函数、
initState等初始化生命周期逻辑,这类改动本身不支持Hot reload,触发Hot restart属于正常行为。 - 检查是否存在全局持有
BuildContext、自定义navigatorKey状态异常的情况,跨组件上下文持有异常也会触发Hot reload失败降级。
2 开发配置排查
- 打开VS Code设置,搜索
dart.flutterHotReloadOnSave,确认配置项值为all或manual,排除配置为restart的情况。 - 执行
flutter doctor命令检查环境完整性,确认无SDK依赖报错。如果使用的是beta/dev渠道SDK,切换到稳定渠道测试:
flutter channel stable flutter upgrade
- 清理项目缓存后重新运行:
flutter clean flutter pub get
- 确认VS Code的Dart、Flutter插件为最新正式版,重启插件或VS Code后重试。
- 调试时如果开启了断点,先取消所有断点后重试,断点会拖慢Hot reload执行速度,严重时会触发自动降级为Hot restart。
3 运行环境排查
- 更换运行设备测试,部分旧版本Xcode搭配iOS16+模拟器会出现Hot reload异常,可切换到安卓真机/模拟器验证是否复现。
- 移除项目中原生层的热更新、动态注入相关插件,这类插件会干扰Flutter的Hot reload运行逻辑。
内容的提问来源于stack exchange,提问作者Fuzzy Wuzzy
相关产品推荐
相关产品推荐

