如何清除Flutter的Build缓存?

loc*_*ock 16 dart flutter

flutter的构建似乎存在问题.

每次我将应用程序运行到模拟器或设备时,我总是需要执行RUN > Flutter Full Restart.

否则,应用程序加载一个脚手架主体,我的代码在2周前开始编码时就已经有了这个主体.

这是关于pastebin的当前来源

children: <Widget>[
          new Opacity(
              opacity: loader_visible ? 1.0 : 0.0,
              child:
              new Container(
                  padding: const EdgeInsets.all(32.0),
                  child: new CircularProgressIndicator()
              )
          ),
Run Code Online (Sandbox Code Playgroud)

而这里是生成的渲染树: 而这里是生成的渲染树

我猜测flutter缓存旧代码并且从不打扰用新代码替换它,但我不确定它是如何实现的Hot Reload.无论如何,当我们已经执行完全重建时,我认为没有必要加载旧缓存.

Rém*_*let 37

你可以跑flutter clean.

但这很可能是您的IDE或类似问题,因为颤动运行会创建一个全新的apk.而热重装仅推动修改.

尝试使用命令行运行您的应用程序flutter run,然后按rR分别进行热重新加载和完全重新加载.

  • 谢谢!`flutter clean`命令做到了:) (2认同)
  • 我在从命令行运行时遇到过这个问题,所以这不是 IDE 问题。 (2认同)

Tig*_*ian 36

如果在android studio Tools->Flutter->Clean

在此处输入图片说明


Phi*_*aro 11

基本上有3 种清洁方法可供您尝试:

\n\n
    \n
  • flutter clean将删除该/build文件夹。
  • \n
  • 手动删除/build文件夹,本质上和flutter clean.
  • \n
  • 或者,正如 @R\xc3\xa9mi Roudsselet 指出的那样:重新启动 IDE,因为它可能会缓存一些较旧的错误日志并锁定所有内容。
  • \n
\n


小智 8

除了运行flutter clean...IDE有时有自己的缓存, Android 使缓存无效

如果仍然不起作用,请尝试从模拟器中删除该应用程序或使用新的模拟器。我相信应用程序本身可能是应用程序的一个缓存部分。