我有两个屏幕(支架),我正在考虑在两个StreamBuilder
中使用单个stream()
。我的问题是,我会被收取双重阅读费吗?或者读取将等同于一次读取?
Firestore客户端尝试最小化它们必须从服务器读取的数据量。当然,这取决于你的代码,但在大多数情况下,会有很多已经读取的数据的重用-这样你就不会再次收费。
一些例子:
-
如果两个构建器使用相同的流,第二个构建器的数据将来自已经为第一个读取器准备好的内存。因此,第二个建造者将不收费。
-
如果两个构建器都使用自己的流,通常也会有很多重用。如果两个流同时监听,SDK将尽可能重用它们之间的数据。
-
如果你启用了磁盘缓存(这在iOS和Android上是默认的),流甚至会共享结果,如果他们不同时活动。