gpt4 book ai didi

flutter - 我需要取消 Stream (flutter)

转载 作者:行者123 更新时间:2023-12-04 00:01:55 25 4
gpt4 key购买 nike

我正在听 firestore 中的一系列文档(作为聊天应用程序的一部分)。我是通过使用一个服务来做到这一点的,它创建了一个 Stream<QuerySnapshot>如下:

_snapshots$ = Firestore.instance.collection('messages').orderBy('date',descending: false).snapshots()

然后我创建一个 StreamBuilder 如下:
return StreamBuilder<List<Message>>(
stream: widget.chatService.messages$,
builder: (context, snapshot) => (snapshot.hasData)
...

我想知道是否需要在包含 StreamBuilder 的 dispose 方法中分离此流小部件。我对 Streams 和 StreamBuilders 不太了解,所以我不确定如何做到这一点,但我真的想避免任何内存泄漏。

最佳答案

你担心这个是对的,但是 StreamBuilder将为您完成所有繁重的工作,包括订阅和取消订阅,因此您不必担心 如果 StreamBuilder是您Stream唯一的地方正在聆听。 但如果你正在听 Stream你自己,那么你将不得不cancel订阅 StatefulWidget dispose方法。

关于flutter - 我需要取消 Stream<QuerySnapshot> (flutter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60087457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com