我有一个应用程序,我想在后台运行时从被杀中恢复。
似乎发生的情况是,如果应用程序由于内存压力而在后台被终止,则在重新进入应用程序时,应用程序将返回到根视图控制器。
从测试看来,在这种情况下,根视图控制器上既没有调用 viewWillAppear 也没有调用 viewDidLoad,因此我无法在恢复时以这种方式执行任何代码。
我的问题是在上述场景中调用了哪些方法,最终,我如何向根视图控制器发送消息以处理应用程序在后台被杀死后重新启动的情况?
我有一个应用程序,我想在后台运行时从被杀中恢复。
似乎发生的情况是,如果应用程序由于内存压力而在后台被终止,则在重新进入应用程序时,应用程序将返回到根视图控制器。
从测试看来,在这种情况下,根视图控制器上既没有调用 viewWillAppear 也没有调用 viewDidLoad,因此我无法在恢复时以这种方式执行任何代码。
我的问题是在上述场景中调用了哪些方法,最终,我如何向根视图控制器发送消息以处理应用程序在后台被杀死后重新启动的情况?
如果您的应用程序由于内存压力而被终止,那么您将重新启动。这是肯定的。
如果你想在这种情况下恢复你的状态,这取决于你。
您可以使用 iOS 6 中内置的状态恢复工具。我还没有使用它们,所以我没有具体的提示给您。
您需要一些方法来保存导航状态(屏幕上的模态 VC 和/或导航堆栈)以及屏幕上每个 VC 的状态数据)以及任何全局应用程序状态数据。
UIApplication 协议参考
应用程序重新启动时调用委托方法 didFinishLaunchingWithOptions