Flutter在Android Studio中的热重载

4

我最开始想知道如何在使用Android Studio时借助Flutter实现热重载。由于已经习惯了Android Studio的自动保存功能,所以我没有考虑使用CTRL+S进行热重载。

后来,我将Flutter热重载分配给了快捷键,并且效果非常好。但是现在我才意识到CTRL+S也可以执行热重载。我在Keymap中查找了这个快捷键,并发现它与全部保存对应。

Save All in Keymap

现在我想知道保存全部是做什么的,与我的指定的Flutter热重载键组合相比它是否有任何额外的功能?当Android Studio已经自动保存所有内容时,我不理解保存全部的原因。

4个回答

10

ctrl+s 是保存的快捷键,而当“在保存时执行热重载”开启时,也会触发“热重载”。

enter image description here


1
谢谢您的回答。但是,为什么在启用自动同步时它不能进行热重载呢? - creativecreatorormaybenot
我有点困惑。你最初的问题似乎没有提到热重载不起作用的事情。 - Günter Zöchbauer
1
我的意思是,为什么它不会自动热重载。Android Studio会自动保存文件。这在oq中没有。 - creativecreatorormaybenot
1
不好意思,我让你困惑了。我完全没有问题。我只是想知道为什么“全部保存”功能会触发热重载,但不会自动保存文件而无需按下<kbd>CTRL</kbd>+<kbd>S</kbd>键。 - creativecreatorormaybenot
1
CTRL + S 触发保存所有功能。我认为我提出的这个问题是无意义的。Android Studio会自动保存文件,因此您永远不会在Flutter之外使用 CTRL + S,我想知道为什么它不会在自动保存时触发热重载,但这不是一个好问题。 - creativecreatorormaybenot
显示剩余3条评论

6

结论

这确实很重要。显然,Flutter插件只能通过执行应用更改(Apply Changes)来响应全部保存(Save All)调用,而这将始终调用Flutter热重载(Flutter Hot Reload)

我做出的一个有趣观察是,如果代码没有更改,Flutter热重载(Flutter Hot Reload)将不会(至少在撰写本文时)热重载应用程序,但全部保存(Save All)应用更改(Apply Changes)将会,这就是为什么我写全部保存(Save All)调用应用更改(Apply Changes)的原因。


2

在Android Studio下面的终端中输入flutter run。一旦应用程序在您的设备或模拟器上运行,按r键进入终端 -> 这将热重载您的应用程序[例如:在执行flutter run后对应用程序进行一些小的更改,然后按r,您可以注意到热重载功能]


你在谈论哪个翻译工具? - Nikhil Soni

1
在我的情况下,我是从头开始编写代码而不是遵循编码标准。 直到那时,当我开始工作时,热重载就成为了问题。
 void main() => runApp(new HelloFlutterApp());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接