作者:不常用的小小号 | 来源:互联网 | 2023-02-10 16:23
1> Gabriele Mar..:
这取决于你的最终目标.
如果您想避免任何类型的同步,您可以使用
DatabaseReference.goOffine();
正如您在文档中看到的那样:
手动断开Firebase数据库客户端与服务器的连接并禁用自动重新连接.
注意:调用此方法将影响所有Firebase数据库连接.
除此以外:
FirebaseDatabase.goOffline();
如doc中所述:
关闭我们与Firebase数据库后端的连接,直到goOnline()
被调用
如果您希望保持同步并使用本地缓存数据,则可以使用:
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
如文件中所述:
通过启用持久性,即使用户或操作系统重新启动应用程序,Firebase实时数据库客户端在联机时仍会同步到磁盘并且可脱机使用的任何数据.这意味着您的应用程序可以像使用存储在缓存中的本地数据一样在线工作.监听器回调将继续触发本地更新.
在这种情况下,您的应用程序使用缓存数据,但客户端继续与服务器数据同步.
更多信息在这里.
同样在这种情况下,要保持特定位置同步使用:
yourRef.keepSynced(true);
如果可以将其应用于特定路径,则脱机将是完美的选择。不只是整个数据库。