Firebase 数据库观察者的持久性如何?

Posted

技术标签:

【中文标题】Firebase 数据库观察者的持久性如何?【英文标题】:Just how persistent are Firebase database observers? 【发布时间】:2016-10-31 06:59:39 【问题描述】:

我决定在 XCode ios 模拟器上运行测试,以查看 Firebase 数据库中某个位置的观察者是否会继续触发,即使应用程序处于后台也是如此。事实证明确实如此,但我想知道这是否在应用程序终止之前是无限期的,或者它是否会在一段时间后真正停止。已经很长时间了,每当我手动更新观察者正在查看的数据库中的值时,观察者仍然会触发。另请注意,我的应用程序功能中没有启用任何背景模式,因此尽管没有任何类型的明确背景模式,但观察者似乎可以在背景模式下持续存在。

一方面,我很高兴观察者留在后台,因为这对我有帮助,但我有点急于知道为什么允许发生这种情况,因为 iPhone 通常在默认情况下非常保守在后台做事。

【问题讨论】:

【参考方案1】:

虽然侦听器可能在您的单个测试用例中保持活动状态,但您不应依赖 Firebase 数据库侦听器进行后台数据传输。

只要连接保持打开状态,侦听器就会保持活动状态。由操作系统决定何时关闭连接。在这种情况下,iOS 模拟器很有可能具有与物理设备不同的行为。

【讨论】:

以上是关于Firebase 数据库观察者的持久性如何?的主要内容,如果未能解决你的问题,请参考以下文章

如何启用 Firebase 实时数据库离线持久性?

如何通过在 swift 中实现观察者从 Firebase 实时数据库中获取嵌套数据

如何观察 Firebase 实时数据库的变化

如何从持久化中排除某些 Firebase 数据库节点?

如何实现一个 Firebase 监听器来观察数据库的实时变化

vue.js的“Firebase + Validation Example”中如何使用mysql作为数据持久化后端?