【问题标题】:Flutter: Streambuilder - Closing of streamsFlutter:Streambuilder - 关闭流
【发布时间】:2019-09-03 20:18:28
【问题描述】:

我正在构建一个应用程序,该应用程序大量使用 streambuilder 从应用程序中的多个页面的 firestore 获取实时数据。

由于没有流关闭/流订阅取消方法,假设当框架释放小部件时流构建器将自动分离监听 Firestore 文档更改是否安全?是否有任何注意事项需要注意。

谢谢。

【问题讨论】:

  • "As there is no stream close / stream subscription cancellation methods [...]" - StreamSubscriptioncancel()方法(和pause() / resume()
  • Streambuilder streamsubscription 有这些方法吗?我知道它存在于流构建器之外。能否请您详细说明一下。谢谢。
  • 嗨 Pskink.. 可能我会改写我的问题 - 我们是否需要在使用流生成器时自行关闭流订阅,或者在处理小部件时它会“分离”自己?对不起,如果我的问题不清楚。
  • 你检查过StreamBuilder 来源吗?如果有,还有什么不清楚的地方?

标签: flutter google-cloud-firestore


【解决方案1】:

当订阅流的小部件从小部件树中永久删除时,StreamBuilder 会自动关闭其关联的流:

https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets/async.dart#L131

如果主分支的链接有一天不起作用,或者是一个永久示例:

https://github.com/flutter/flutter/blob/2ece1c3a174c3dd7099736f13b4ad16bb9b70c1d/packages/flutter/lib/src/widgets/async.dart#L131

【讨论】:

    猜你喜欢
    • 2021-07-25
    • 2020-10-30
    • 2020-08-23
    • 1970-01-01
    • 2022-01-03
    • 2013-05-01
    • 2020-05-14
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多