当应用进入后台模式时释放图形

时间:2012-02-27 15:36:53

标签: iphone ios cocoa-touch ipad

在Apple文档中,您可以发现Apple建议在您的应用进入后台模式时释放大量数据,例如图像 如何从UIViews和其他数据中释放图像?
如何从所有UIViews正确的方式发布viewController的图片?
如何在应用获取applicationWillResignActive消息时恢复数据?
如果有人有一个很好的例子或链接,请显示它。

1 个答案:

答案 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中释放不需要的数据 - 将其恢复