【发布时间】:2011-05-16 22:06:29
【问题描述】:
- 用户打开了我的应用程序。
- 他们点击了主页按钮,导致我的应用关闭并进入“已保存状态”。
- 用户将他的设备用于其他事情。
- 用户再次打开我的应用程序,从他离开的地方继续。
如何在我的代码中检测到用户已从保存状态恢复?我可以附加到特定的 iOS4 多任务 NSNotification 吗?
【问题讨论】:
标签: iphone objective-c xcode sdk
如何在我的代码中检测到用户已从保存状态恢复?我可以附加到特定的 iOS4 多任务 NSNotification 吗?
【问题讨论】:
标签: iphone objective-c xcode sdk
如果系统在后台终止您的应用,您可以使用应用委托方法让您启动并运行。
如果您的应用没有终止,那么观察 UIApplicationDidEnterBackgroundNotification 通知会很有帮助。它将允许您执行任何 viewController 特定的状态保存和清理。您可以使用它来进行快速清理。即冻结所有延迟创建的实例变量,以使您的应用在后台状态下的内存占用尽可能小。
注册此通知允许您恢复状态 UIApplicationWillEnterForegroundNotification
不过,请确保您小心地以观察者的身份移除您的对象。
【讨论】:
AppDelegate.m:
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"Application did enter background.");
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"Application did become active.");
}
【讨论】: