两个StreamBuilder使用一个stream();它会增加阅读的次数吗?



我有两个屏幕(支架),我正在考虑在两个StreamBuilder中使用单个stream()。我的问题是,我会被收取双重阅读费吗?或者读取将等同于一次读取?

Firestore客户端尝试最小化它们必须从服务器读取的数据量。当然,这取决于你的代码,但在大多数情况下,会有很多已经读取的数据的重用-这样你就不会再次收费。

一些例子:

  • 如果两个构建器使用相同的流,第二个构建器的数据将来自已经为第一个读取器准备好的内存。因此,第二个建造者将不收费。

  • 如果两个构建器都使用自己的流,通常也会有很多重用。如果两个流同时监听,SDK将尽可能重用它们之间的数据。

  • 如果你启用了磁盘缓存(这在iOS和Android上是默认的),流甚至会共享结果,如果他们不同时活动。

最新更新