Pet*_*uin 4 performance android bandwidth firebase firebase-realtime-database
我想知道在客户端中启用 Firebase 实时数据库的离线支持是否可以节省带宽?我想知道 Firebase 客户端在开始时是否从存储加载数据库,然后继续并仅同步稍后添加的内容?或者它是否会同步所有内容,如果这不起作用,则回退到他之前存储的离线数据。
如果您使用FirebaseDatabase.getInstance().setPersistenceEnabled(true);意味着即使您处于离线状态,您也可以查询数据库。发生这种情况是因为 Firebase 创建了数据库的本地副本。当您离线时所做的每项更改都将在您重新上线后在 Firebase 服务器上更新。所以这个选项不是用来节省带宽的,是启用离线功能的。
更清楚地说,每个使用 Firebase 数据库并使用的客户端都setPersistenceEnabled(true)维护其自己的内部(本地)数据库版本。当数据更新时,首先将其写入数据库的本地版本。
因此,在任何数据写入服务器之前,对 Firebase 的所有写入都将立即触发本地事件。这意味着无论互联网连接如何,该应用程序都将保持响应。
重新建立互联网连接后,您将收到适当的当前服务器状态。Firebase 客户端synchronizes与 Firebase 服务器以及使用同一数据库的其他客户端进行数据传输。
另一件需要记住的事情是 Firebase 会自动connection state减少带宽和电池使用量。当客户端没有active listeners、没有挂起的写入或onDisconnect操作,并且未通过该goOffline方法显式断开连接时,Firebase 将在 60 秒不活动后关闭连接。
结论是,当我们启用离线支持时,带宽没有差异。好处是即使我们没有连接到互联网,我们也可以查询和更改数据库。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
1162 次 |
| 最近记录: |