从应用程序中恢复后台 - 在重启时调用哪些方法?

时间:2014-02-03 11:54:58

标签: ios objective-c background-process appdelegate springboard

我有一个应用程序,我希望在后台运行时从被杀死中恢复。

似乎发生的情况是,如果应用程序因内存压力而在后台被杀死,则在重新进入应用程序时,应用程序将返回到根视图控制器。

在测试中看来,在这种情况下,根视图控制器上都没有调用viewWillAppear或viewDidLoad,因此我无法在恢复时以这种方式执行任何代码。

我的问题是在上面的场景中调用了哪些方法,最终,我如何向根视图控制器发送消息来处理应用程序在后台被杀后重新启动的情况?

2 个答案:

答案 0 :(得分:1)

UIApplication Protocol参考

https://developer.apple.com/library/ios/documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#jumpTo_9

委托方法在应用程序重新启动时调用didFinishLaunchingWithOptions

答案 1 :(得分:1)

如果您的应用因内存压力而被杀,那么您将重新启动。这是肯定的。

如果你想在那种情况下恢复你的状态,那取决于你。

您可以使用iOS 6中内置的状态恢复功能。我还没有使用它们,所以我没有针对您的具体提示。

您需要一些方法来保存导航状态(屏幕和/或导航堆栈上的模态VC)以及屏幕上每个VC的状态数据以及任何全局应用程序状态数据。