在Firebase数据库中的多个路径上使用同步时有哪些权衡取舍?
databaseRef.keepSynced(true);
我从不清除这些路径的同步。
另外,我可以调用databaseRef.keepSynced(true);在同一条路上多次。有问题吗?
我也在使用
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
那么,就电池续航时间,内存问题而言,我为此同步“付费”了什么?
答案 0 :(得分:6)
当您使用keepSynced() method
时,您告诉Firebase下载并缓存来自databaseRef
的所有数据。我希望databaseRef
不是您数据库的根参考,因为如果是,您可以下载整个数据库,这不是一个好习惯。
您应该使用keepSynced()来缓存您的应用离线工作所必需的节点。
您可能想知道与setPersistanceEnabled(true)
的区别是什么。好吧,setPersistanceEnabled(true)
只在连接到该节点的监听器时(当数据至少被读取一次时)才缓存数据。
另一方面,即使没有连接侦听器,keepSynced(true)
也会缓存该节点的所有内容。