2

如果第三方应用程序在 iOS 上后台运行(仍在内存中)并且用户从 App Store 更新应用程序,该应用程序会在安装过程之前还是在安装过程中终止?升级后后台应用程序有什么方法可以保留在内存中?application:didFinishLaunchingWithOptions:应用在更新后打开时总是会收到回调吗?

(我的假设是应用程序被杀死并完全从内存中删除,因为应用程序的可执行代码可能在更新期间发生了变化。)

4

1 回答 1

7

它会被杀死。无论是在更新之前、期间还是之后终止都无关紧要 - 您应该在收到applicationDidEnterBackground:时保存状态。一旦底层代码发生变化,应用程序就无法继续执行 - 结构可能已经发生变化,您可能已经重写了线程模型,以便它以完全不同的方式完成所有事情。

如果它兼容,您将不得不保存状态并尝试恢复它;否则你应该从头开始。您应该将状态保存在applicationDidEnterBackground:调用中 - 您可能不会在applicationWillTerminate:调用中获得机会,因为它可能不会被调用。

于 2013-08-08T19:06:22.160 回答