Flutter 颤振:Firestore:快照()何时断开侦听器连接?

Flutter 颤振:Firestore:快照()何时断开侦听器连接?,flutter,dart,google-cloud-firestore,Flutter,Dart,Google Cloud Firestore,在我的应用程序的整个生命周期中,我使用了几个firestore侦听器。我想知道这些连接何时被切断,这样我就可以自己取消它们并适当地重新建立它们。当应用程序最小化和最大化时,侦听器会偶尔丢失,如果使用,会使应用程序崩溃。我找不到有关何时终止此连接的文档,因此我不确定何时应该自己处理此过程 使用didchangeappifecyclestate(AppLifecycleState)将是一个明显的亮点。但是,当用户使用我使用的摄像头或Gallery插件时,此函数会触发,并会导致侦听器出现不必要的停止和

在我的应用程序的整个生命周期中,我使用了几个firestore侦听器。我想知道这些连接何时被切断,这样我就可以自己取消它们并适当地重新建立它们。当应用程序最小化和最大化时,侦听器会偶尔丢失,如果使用,会使应用程序崩溃。我找不到有关何时终止此连接的文档,因此我不确定何时应该自己处理此过程

使用
didchangeappifecyclestate(AppLifecycleState)
将是一个明显的亮点。但是,当用户使用我使用的摄像头或Gallery插件时,此函数会触发,并会导致侦听器出现不必要的停止和启动。我曾尝试将相机和多媒体资料的使用包装在一个bool中,以防止
didchangeApplicyclestate
触发,但没有成功


第二个问题。暂停和恢复侦听器是否足够?或者需要取消并重新建立它们吗?

我可以暂停并恢复所有侦听器:
didChangeAppLifecycleState(AppLifecycleState状态)


我已经几天没有撞车了,一切都很好。当应用程序在前台处于活动状态时,侦听器似乎不会丢失。为此,我将所有侦听器变量保存在一个静态类中,该类管理每个侦听器的状态

有人提到了。不过这不是飞镖的具体问题。我不确定我是否正确理解了你的问题。你指的是什么听众?您的问题是关于运行颤振后台进程吗?使用
didChangeAppLifecycleState
可以是一个选项,因为您的应用程序可以通过inI更新问题。我指的是Firestore快照侦听器。我想didChangeAppLifecycleState是做这件事的地方。然而,由于一些摄像头插件暂停和恢复状态听起来相当不错,所以我面临着缺火的问题,因为您不需要反复执行它们。你试过了吗?发生了什么事?暂停和恢复有效!:我已经几天没有撞车了。如果应用程序位于后台,则连接可能会丢失。前台的应用程序没有问题。另外:当您恢复侦听器时,它们会在暂停时获得所有文档更改!:D