在Apple文档中,您可以发现Apple建议在您的应用进入后台模式时释放大量数据,例如图像
如何从UIViews
和其他数据中释放图像?
如何从所有UIViews
正确的方式发布viewController
的图片?
如何在应用获取applicationWillResignActive
消息时恢复数据?
如果有人有一个很好的例子或链接,请显示它。
答案 0 :(得分:1)
添加到app delegate 2方法
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_APP_BACKGROUND object:nil];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_APP_BACKGROUND object:nil];
}
使用方法创建BaseViewController:
- (id)init
{
self = [super init];
if (self) {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillForeground) name:NOTIFICATION_APP_FOREGROUND object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBackground) name:NOTIFICATION_APP_BACKGROUND object:nil];
}
return self;
}
- (void)appDidBackground {
}
- (void)appWillForeground {
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
从BaseViewController子类化所有视图控制器。在方法appDidBackground中,您应该在appWillForeground中释放不需要的数据 - 将其恢复