当我的Swift应用程序第一次运行时,我已经设置了一个Firestore SnapshotListener。目前尚不清楚每次应用程序恢复或激活时是否应该调用侦听器,以确保它仍在运行。有人能建议最好的方法吗?或者当不调用SnapshotListener时会发生什么?
@objc func appReturnedToActive() {
callSnapshotListener()
}
或
@objc func appReturnedFromBackground() {
callSnapshotListener()
}
正如Firestore文档所建议的,当您不再对侦听特定数据感兴趣时,应该停止侦听。如果你的应用程序没有配置为在后台执行,而你不希望它在后台执行的话,那么你就不应该在后台监听数据。最明显的原因是工程经济性(我们应该始终努力实现最大效率,如果没有必要在后台更新数据,那么就不应该这样做(。然而,更实际的是,考虑到当其他应用程序资源紧张时,如果一个应用程序在后台执行工作(而不是一个不在后台执行的应用程序(,那么它更有可能被操作系统杀死,而且你最终是在浪费钱,为永远不会被任何人看到的阅读付费。