一、说明
Flutter 的热重载功能可以让我们不用重新编译安装 App 就可以实时更新最新代码,但是 Flutter 的热重载并非万能的,在一些场景下执行热重载后并不会生效。
我暂时还没有深入研究 Flutter 热重载的原理,在这篇文章中记录一些热重载不生效的场景,先防微杜渐一下,之后有时间研究后再作补充。
二、不生效场景
- 在 pubspec.yaml 文件中添加插件后热重载无法生效,需要停止应用后重新编译打包安装。
- 在 main() 函数中 runApp 初始化时运行的函数不生效,这个不用停止应用后重新编译打包安装,只需要点击运行按钮再运行一次即可。
- 给 ListView 的 item 组件最外层添加了 GestureDetector 组件,UI 效果是出来了,但是点击后 onTap 一直不生效,感觉很奇怪,尝试了很多方法都不行后,把应用停掉,编译打包重新安装后可以了。