firebase - 两个 StreamBuilder 使用一个 stream(); 它会增加读取次数吗?
问题描述
我有两个屏幕(脚手架),我想在两个屏幕stream()
中都使用一个StreamBuilder
。我的问题是我会被收取双重阅读费用吗?或者读取将相当于一次读取?
解决方案
Firestore 客户端会尽量减少必须从服务器读取的数据量。当然,这取决于您的代码,但在大多数情况下,会重复使用已经读取的数据 - 这样您就不会再次被收费。
一些例子:
如果两个构建器都使用相同的流,则第二个构建器的数据将来自已为第一个读取器准备好的内存。因此,第二个建筑商将不收取任何费用。
如果两个构建器都使用自己的流,通常还会有很多重用。如果流同时监听,SDK 将尽可能重用它们之间的数据。
如果您启用了磁盘缓存(在 iOS 和 Android 上是默认设置),如果流没有同时处于活动状态,它们甚至会共享结果。
推荐阅读
- firebase - 为什么firebase在退出后会抛出权限错误?
- sql - 选择按日期分组的一系列数字?
- git - 来自整个 git 存储库历史的原始代码总行数
- python - Plotly:如何使用 plotly express 在单迹散点图中显示图例?
- google-apps-script - 对 Google 脚本中的函数的 HTTP 请求
- pandas - 知道数据框中的哪一行与另一行相似
- python - 使用 Python 计算大文本中多词项的频率
- python - Python检查字符串是否在文档中
- javascript - 从 Google 表格中删除多列,避免昂贵的循环
- sql - 需要有关如何分组此表的想法