Apple's documentation建议在applicationDidEnterBackground:方法中安装keep-alive处理程序。它还说新处理程序替换了以前安装的处理程序。
所以我的问题是,他们为什么建议在applicationDidEnterBackground中安装它?每次应用程序进入后台时都必须安装此处理程序吗?换句话说,每次进入前台时都会丢弃处理程序,因此每次进入后台时都必须重新安装它?
如果没有,是否有更适合安装此处理程序的地方?
答案 0 :(得分:1)
我可以冒险猜测 - 有许多可能的场景,您可能希望根据用户设置或应用程序行为更改处理程序。在这种情况下,最有必要在applicationDidEnterBackground
中进行设置。对于应用程序和代码库之间的明确一致性,也许还有一些要说的。
但你肯定可以在你的应用程序的其他地方安装你的保持活动处理程序,而且(据我所知)它不应该在再次进入前台时被丢弃。 但是,应用程序终止时,保留活动处理程序 被丢弃。
由于所有调用实际上都是基本设置了一些变量,因此在applicationDidEnterBackground
中调用它并没有真正的性能损失,因此它不会中断将应用程序推送到后台的过程。