Firebase 数据库观察者有多持久?
Just how persistent are Firebase database observers?
我决定 运行 在 XCode iOS 模拟器上进行测试,看看 Firebase 数据库中某个位置的观察者是否会继续触发,即使应用程序处于的背景。事实证明确实如此,但我想知道在应用程序终止之前这是否是无限期的,或者它是否会在一段时间后真正停止。已经很长时间了,每当我手动更新观察者正在查看的数据库中的值时,观察者仍然会触发。另请注意,我的应用程序功能中没有启用任何后台模式,因此尽管没有任何类型的显式后台模式,但观察者似乎可以坚持后台模式。
一方面,我很高兴观察者留在后台,因为这对我有帮助,但我有点急于知道为什么允许这种情况发生,因为 iPhone 通常相当在后台做事时默认是保守的。
虽然侦听器可能会在您的单个测试用例中保持活动状态,但您不应依赖 Firebase 数据库侦听器进行后台数据传输。
只要连接保持打开状态,侦听器就会保持活动状态。由操作系统决定何时关闭连接。在这种情况下,iOS 模拟器的行为很可能与物理设备的行为不同。
我决定 运行 在 XCode iOS 模拟器上进行测试,看看 Firebase 数据库中某个位置的观察者是否会继续触发,即使应用程序处于的背景。事实证明确实如此,但我想知道在应用程序终止之前这是否是无限期的,或者它是否会在一段时间后真正停止。已经很长时间了,每当我手动更新观察者正在查看的数据库中的值时,观察者仍然会触发。另请注意,我的应用程序功能中没有启用任何后台模式,因此尽管没有任何类型的显式后台模式,但观察者似乎可以坚持后台模式。
一方面,我很高兴观察者留在后台,因为这对我有帮助,但我有点急于知道为什么允许这种情况发生,因为 iPhone 通常相当在后台做事时默认是保守的。
虽然侦听器可能会在您的单个测试用例中保持活动状态,但您不应依赖 Firebase 数据库侦听器进行后台数据传输。
只要连接保持打开状态,侦听器就会保持活动状态。由操作系统决定何时关闭连接。在这种情况下,iOS 模拟器的行为很可能与物理设备的行为不同。