删除所有观察者也会禁用keeySynced()

时间:2017-05-14 08:32:56

标签: firebase firebase-realtime-database

我希望保持数据库的一部分同步,但只在加载某个视图时才需要实际的回调。当视图加载我正在调用时:

FIRDatabase.database().reference().child("data").observe(.childAdded...

然后当视图退出时我想调用

FIRDatabase.database().reference().child("data").removeAllObservers()

在我的应用程序的其他地方,我正在打电话:

FIRDatabase.database().reference().child("data").keepSynced(true)

我知道keepSynced()只是在参考号中添加了一个观察者,所以当我致电removeAllObservers()时会取消keepSynced(true)吗?

1 个答案:

答案 0 :(得分:1)

不,呼叫keepSynced(true)表示设备上的实际数据将与Firebase服务器保持同步。

这意味着当您最终将侦听器添加到该位置时,您将能够非常快速地检索数据,因为设备已暂时保持同步。

禁用同步的唯一方法是致电keepSynced(false)