尝试热重载 Flutter 应用程序会重新启动整个应用程序
Posted
技术标签:
【中文标题】尝试热重载 Flutter 应用程序会重新启动整个应用程序【英文标题】:Attempting to hot reload Flutter app restarts whole app 【发布时间】:2019-12-22 07:13:48 【问题描述】:我正在开发一个 Flutter 应用程序,我注意到每当我保存我的应用程序以查看更新的更改时,我的整个应用程序都会重新加载。我希望我打开的页面可以热重新加载,并对其进行新的更改。
我认为我的小部件树的组织方式可能会对此产生影响。我的整个应用程序都包含在一个在启动时运行的小部件中,该小部件初始化为 ServicesLoadingState。然后,在服务完成启动后(在 BLoC 中),它会产生一个 ServicesReadyState,然后绘制我的所有小部件。我认为当我热重新加载时,最上面的小部件的状态会切换回 ServicesLoadingState,重新加载服务,并向我展示我正在经历的行为。
我试过谷歌搜索“flutter hot reload restarts app”,但我没有找到任何关于如何防止这种情况的好提示。如何阻止热重载重新启动整个应用程序?
【问题讨论】:
可能相关:***.com/questions/52249578/… 我面临着类似的问题。就我而言,我在我的小部件中使用Provider
。
【参考方案1】:
您能否检查一下您的 MaterialApp 中是否使用了全局 navigatorKey?
我遇到了同样的问题,我发现这是由于我的 MaterialApp 中的 navigatorKey。
所以当我处于开发模式时,我会评论 navigatorKey 属性。
【讨论】:
请将其表述为有条件的解释性答案,以避免给人以澄清问题而不是回答的印象(应该使用评论而不是答案,比较meta.stackexchange.com/questions/214173/…)。例如像“如果你的问题是......那么解决方案是......因为......。” 对我有用,我在我的主页面上评论了 navigatorKey。谢谢以上是关于尝试热重载 Flutter 应用程序会重新启动整个应用程序的主要内容,如果未能解决你的问题,请参考以下文章