首页 > 解决方案 > 在线和离线,如果 firebase 数据库引用没有变化,则加载缓存数据

问题描述

在我的 android 应用程序中,我使用的是 firebase 数据库。对于离线工作,使用以下代码:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

引用中的数据将保持不变。离线时,该引用中的数据会毫无延迟地加载,但在线时相同的数据需要时间(大约 8 秒)才能加载。由于该引用中的数据没有变化,我希望立即加载这些数据(可能来自缓存)。我怎样才能做到这一点?

标签: javaandroidfirebasefirebase-realtime-database

解决方案


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

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

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

因此,如果这是您需要的,您可以使用此功能。


推荐阅读