【发布时间】:2016-10-19 17:46:15
【问题描述】:
我的 Firebase 数据库已设置 PersistenceEnabled=true。离线时,所有侦听器都可以正常工作并从本地缓存中获取数据。
但是,在线时,每次我在同一节点上使用 addListenerForSingleValueEvent 时,Firebase 都会进行网络调用,即使我有本地缓存并且服务器上没有任何更改。
我在将侦听器附加到的节点上有两个项目,在将日志级别设置为调试后,我看到以下报告。每次我在线使用侦听器时,都会重复此网络活动,即使在亚秒级延迟内也是如此。我的理解是,如果 Firebase 有本地数据,则不会进行服务器调用。任何同步检查都可能在后台进行,并具有高效的网络使用率。
conn_18 - 收到数据消息:{r=20, b={s=ok, d={}}}
conn_18 - 收到数据消息:{r=21, b={s=ok, d=}}
我正在努力减少我的应用的网络使用量,任何停止/减少 Firebase 网络活动的建议都会非常有帮助。
【问题讨论】:
标签: android firebase firebase-realtime-database network-traffic