问题描述
如题,在Flutter开发中,正常情况下,修改后按保存(ctrl+s),就能自动将更新内容热加载到设备中,但是我早上突然就遇到保存后没有热加载的情况。
试了试,有的页面是没问题,可以热更新的,有的页面不行,那应该就是某些页面的问题了。在热更新生效的页面,每次保存后查看Run里面输出的日志,发现最后一行是类似:
Reloaded 8 of 1644 libraries in 1,516ms.
而热更新无效的页面,保存后的日志是:
Reloaded 0 of 1644 libraries in 324ms.
也就是AS没有找到改变的东西,所以没更新。
分析原因
联想到早些时候把几个dart文件的位置拖动了下,是不是那个操作引起的问题,打开来看了看,发现了问题所在。那些引用被拖动文件的地方,引用语句由
import 'package:***/pages/shop/food/food_shop_page.dart';
变成了
import 'file:///D:/***/lib/pages/shop/food/food_shop_page.dart';
(***是我脱敏替代了)
导致AS无法加载最新修改的内容。
解决办法
把引用方式由file的方式改回package的方式就行。
以上。
网友评论