对于启用了Firebase实时数据库持久性的Android客户端,假设没有对数据库进行任何更改,是否每次关闭并重新打开应用时都没有Firebase下载?
此外,启用持久性后,每次重新打开应用时,Firebase是否只会下载更改?
答案 0 :(得分:2)
如果我可以引用文档,那么两者都是:
通过启用持久性,我们在线同步的任何数据都将是 即使我们重新启动应用程序,也会保留到磁盘并可脱机使用。 这意味着我们的应用程序将像在线使用本地数据一样工作 存储在缓存中。监听器回调将继续触发 本地更新。
Enabling Offline Capabilities on Android
令人惊讶的是,您可以使用一行代码完成此操作,并且我一直在将离线功能集成到我最近开发的所有项目中,它对我们的开发人员来说就像一个魅力而且不那么令人头痛。
修改强>
如果启用了磁盘持久性并且它不是第一次启动应用程序,我可以确认Firebase不会再次重新下载整个数据库。当我第一次实现持久性存储时。我正在使用Android工作室监控我的应用程序的网络使用情况,在第一次启动时我可以看到相当多的网络资源使用情况,然后我重新启动了应用程序并且网络使用情况监视器中没有任何活动
然后我通过Firebase控制台向数据库中添加了几个字符串,并在重新启动应用程序时监视其使用情况,我可以在监视器中看到一个小的网络使用情况,我将其定义为将我所做的更改下载到我的数据库中我的应用程序立即与更改同步。