一、說明
Flutter 的熱重載功能可以讓我們不用重新編譯安裝 App 就可以實時更新最新代碼,但是 Flutter 的熱重載並非萬能的,在一些場景下執行熱重載後並不會生效。
我暫時還沒有深入研究 Flutter 熱重載的原理,在這篇文章中記錄一些熱重載不生效的場景,先防微杜漸一下,之後有時間研究後再作補充。
二、不生效場景
- 在 pubspec.yaml 文件中添加插件後熱重載無法生效,需要停止應用後重新編譯打包安裝。
- 在 main() 函數中 runApp 初始化時運行的函數不生效,這個不用停止應用後重新編譯打包安裝,只需要點擊運行按鈕再運行一次即可。
- 給 ListView 的 item 組件最外層添加了 GestureDetector 組件,UI 效果是出來了,但是點擊後 onTap 一直不生效,感覺很奇怪,嘗試了很多方法都不行後,把應用停掉,編譯打包重新安裝後可以了。