当您打开一个应用程序并再次按主屏幕时,该应用程序显然处于后台。当您打开其他应用程序并等待一段时间时,我的应用程序的视图已被卸载(如UITableView
重新加载数据)。
是否有某种通知,或者我如何知道我的应用程序是否即将发布他们的视图?只是viewDidUnload
吗?
当您打开一个应用程序并再次按主屏幕时,该应用程序显然处于后台。当您打开其他应用程序并等待一段时间时,我的应用程序的视图已被卸载(如UITableView
重新加载数据)。
是否有某种通知,或者我如何知道我的应用程序是否即将发布他们的视图?只是viewDidUnload
吗?
此链接应该有所帮助:iPhone 开发 - 模拟内存警告
基本上,您收到了内存警告,并且部分视图被卸载。
不幸的是,当您的应用程序被置于后台时,它会被冻结并且不会接收事件。除非您请求了一些后台处理时间,并为系统提供了后台处理任务 Expiration Handler:
backgroundTask_ = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
// Peform clean up work
// Mark the task now as invalid
[[UIApplication sharedApplication] endBackgroundTask:backgroundTask_];
backgroundTask_ = UIBackgroundTaskInvalid;
}];
在这种情况下,在额外的、未确定的处理时间结束后,将调用过期处理程序。
可以在这里找到一些好的背景文档App States and Multitasking。但即便如此,您也无法在清理方面做太多事情。
祝你好运