首页 文章

Firebase脱机功能作为缓存

提问于
浏览
6

我想知道将firebase脱机功能用作“免费”缓存是否合理 .

让我们假设我在活动A中,我从firebase获取一些数据,然后我转移到活动B,它需要相同的数据 . 如果应用程序配置了setPersistenceEnabled(true),并且如果需要,还配置了keepSynced(true),我可以只重新查询活动B中的相同数据,而不是传递它吗?

据我所知,这两种方法在内存读取和磁盘读取(firebase脱机缓存)方面存在差异 . 但是,我是否真的通过使用firebase脱机来摆脱所有网络开销?

相关链接:
Firebase Offline Capabilities and addListenerForSingleValueEvent https://groups.google.com/forum/#!msg/firebase-talk/ptTtEyBDKls/XbNKD_K8CQAJ

1 回答

  • 9

    是的,您可以轻松地在每个活动中重新查询Firebase数据库,而不是传递数据 . 如果启用磁盘持久性,则这将是本地读取操作 . 但是,由于您附加了一个监听器(或通过 keepSynced() 保持连接),它将导致网络流量 .

    但是,不要将Firebase用作仅限脱机的数据库 . 它实际上被设计为一个在线数据库,可以在短时间到中间的断开连接期间工作 . 离线时,它将保持写操作的队列 . 随着此队列的增长,本地操作和应用程序启动将变慢 . 没什么大不了的,但随着时间的推移,这些可能会增加

相关问题