联机和脱机均可,如果Firebase数据库引用没有更改,则加载缓存的数据

时间:2018-12-02 11:40:35

标签: java android firebase firebase-realtime-database

在我的Android应用中,我正在使用Firebase数据库。对于离线工作,使用以下代码:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

引用中的数据将保持不变。在脱机状态下,该参考中的数据加载没有任何延迟,但是在联机状态下,相同的数据需要花费时间(大约8秒)来加载。 由于该引用中的数据没有更改,因此我希望这些数据无延迟地加载(可能来自缓存)。我该怎么办?

1 个答案:

答案 0 :(得分:0)

  

我想要的是它将从缓存中加载数据,但是如果数据库引用中有任何更新,则只有它才能从在线加载数据

这就是Firebase所做的。整个想法是,您与Firebase服务器同步,一旦添加了新数据,您的onDataChange()就会被包含新数据的DataSnapshot对象触发。如果您不希望使用此功能,则可以明确告诉Firebase使用goOffline()

  

手动从服务器断开Firebase数据库客户端的连接,并禁用自动重新连接。

因此,如果需要的话,可以使用此功能。