为什么Flutter Firestore插件不担心关闭其接收器快照流?

问题描述

在Flutter Firestore代码库中,您可以找到a comment about在查询上运行快照(snapshots)时创建的流。

// It's fine to let the StreamController be garbage collected once all the
// subscribers have cancelled; this analyzer warning is safe to ignore.
StreamController<QuerySnapshotPlatform> controller; // ignore: close_sinks

我想用BehaviorSubject包装我生成的快照流,以便跟踪最新条目。当我有一个流位于页面顶部时,我想通过树中更下方的不同小部件来使用它,而不必每次都重新加载流时,这很有用。如果新的小部件开始监听该流,则无法在BehaviorSubject或其他地方进行跟踪,因为它错过了该事件,因此无法从Firestore获取最新信息。

我是否也不必担心要关闭要创建的行为主题,因为当没有更多的侦听器时,它将被垃圾回收?还是有另一种方式来实现我想要的?

我正在绘制这样的代码:

final snapshotStream = _firestore.collection('users').snapshots();
final behaviorSubjectStream = BehaviorSubject();
behaviorSubjectStream.addStream(snapshotStream);
return behaviorSubjectStream;

这将导致我没有关闭behaviorSubjectStream。可以忽略吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)