Firebase Observer是否使用Internet带宽EveryTime我们在viewWillAppear中调用它?即使数据没有变化?

时间:2017-07-22 11:45:07

标签: ios firebase swift3 firebase-realtime-database uicollectionview

我基本上每次看到我的视图时都会调用我的观察者,并在视图消失时将其删除,但我不确定它会如何影响带宽?

1 个答案:

答案 0 :(得分:0)

这实际上取决于您如何附加观察者以及您与Firebase数据库交互的其他代码。由于您没有分享,我将详细介绍Firebase客户端的工作原理。

  • 将观察者附加到某个位置时,Firebase客户端会开始从服务器同步该位置的数据。

  • 第一次添加观察者时,这意味着它必须从服务器读取数据。它将此数据保存在内部缓存中,并可选择(如果您enabled persistence)在磁盘上。

  • 但是,如果您在同一位置添加第二个观察者时,数据已经可用,因此不会重新下载。

  • 从某个位置移除最后一个观察者后,该位置的数据将从Firebase的缓存中删除。如果您之后附加了新的侦听器,则必须重新读取Firebase服务器中的数据。