Firebase keepSynced(true)

use*_*714 10 android firebase firebase-realtime-database

当我在Firebase数据库中的多个路径上使用同步时,有什么权衡取舍?

databaseRef.keepSynced(true);
Run Code Online (Sandbox Code Playgroud)

我从不清除这些路径的同步.

另外,我可能会调用databaseRef.keepSynced(true); 在同一条路上多次.是ta问题?

我也在用

FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Run Code Online (Sandbox Code Playgroud)

那么,就电池续航时间,内存问题而言,我为此同步"付费"了什么?

Ros*_*des 12

当您使用时keepSynced(),您告诉Firebase下载并缓存来自的所有数据databaseRef.我希望databaseRef不是你的数据库的根引用,因为如果是,你正在下载整个数据库,这不是一个好习惯.

您应该使用keepSynced()来缓存应用程序脱机工作所必需的节点.

你可能会想知道有什么不同keepSynced().好吧,setPersistanceEnabled(true)只有当一个Listener连接到该节点时才会缓存数据(当数据至少被读取一次时).

另一方面setPersistanceEnabled(true),即使没有连接侦听器,也会缓存该节点的所有内容.