在mac机器上工作时,我发现Android Studio不支持热重载。我不知道出了什么问题:)
下面是不会重新加载的代码(我正在更改你好,世界文本到颤振样本文本)
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: new Text("Demo Project"),
),
body: Center(child: new Text("Hello World!!!")),
),
));
}
请看下面的带有链接的视频https://www.dropbox.com/s/e7viujcgv8w0mtr/hot\_reload.mp4?dl=0
这并没有阻止我的发展,但我担心为什么会发生这种情况。
发布于 2020-05-03 07:47:14
Flutter文档中写道:“热重新加载将代码更改加载到虚拟机中,并重新构建窗口小部件树,保留应用程序状态;它不会重新运行main()或initState()“
因此,看起来如果应用程序逻辑驻留在main方法,则热重新加载工作。尝试像下面这样重构你的应用程序,然后重新启动(绿色按钮)。您随后所做的任何更改都将是热重载保存时。
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: new Text("Demo Project"),
),
body: Center(child: new Text("Hello World!!!")),
),
);
}
}
更新:如果您正在添加新资产(如图像或媒体文件),热重新加载将不起作用。在这些情况下,您将不得不重新启动应用程序。
发布于 2020-05-20 17:37:19
试试这个
基于GitHub的解决方案在Xms中重新加载了0个NNN库
Android Studio使用IDEA自动导入文件,如下所示
import 'file///F:/flutter_project/lib/home_page.dart';
将其更改为
import 'package:flutter_project/home_page.dart';
发布于 2020-04-28 01:47:13
用一个StatefulWidget
如下面的代码所示。在观看旧的教程时,这可能会让人感到困惑,因为它过去在早期的颤动版本中没有它就可以工作。
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(home: MyApp()));
}
class MyApp extends StatefulWidget {
MyApp({Key key}) : super(key: key);
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Demo Project"),
),
body: Center(child: new Text("Hello World!!!")),
);
}
}
https://stackoverflow.com/questions/57127496
复制相似问题