Flutter: Firestore: 快照().listener 连接何时断开?



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

使用didChangeAppLifecycleState(AppLifecycleState state)将是显而易见的地方。但是,当用户使用我使用的相机或图库插件时,此功能会触发,并且会导致不必要的停止和启动侦听器。我尝试将相机和图库的使用包裹在布尔值中,以防止didChangeAppLifecycleState发射但没有成功。

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

我能够暂停并恢复所有侦听器:
didChangeAppLifecycleState(AppLifecycle State state(。

我已经几天没有崩溃了,一切正常。当应用程序在前台处于活动状态时,似乎没有一个点可以丢失听众。为此,我将所有侦听器变量保存在一个静态类中,该类管理每个侦听器的状态。

最新更新