Iphone 当应用程序进入后台模式时释放图形
在Apple文档中,您可以发现Apple建议在您的应用程序进入后台模式时发布大量数据,如图像。Iphone 当应用程序进入后台模式时释放图形,iphone,ios,cocoa-touch,ipad,Iphone,Ios,Cocoa Touch,Ipad,在Apple文档中,您可以发现Apple建议在您的应用程序进入后台模式时发布大量数据,如图像。 如何从UIViews和其他数据发布图像? 如何以正确的方式从所有viewController的ui视图中释放图像? 当应用程序获取applicationWillResignActive消息时如何恢复数据? 如果某人有一个好的示例或链接,请展示它。添加到应用程序委派2方法 - (void)applicationDidEnterBackground:(UIApplication *)applicatio
如何从
UIViews
和其他数据发布图像?如何以正确的方式从所有
viewController
的ui视图中释放图像?
当应用程序获取applicationWillResignActive
消息时如何恢复数据?
如果某人有一个好的示例或链接,请展示它。添加到应用程序委派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-restore中,为什么会有这么多的否决票?好的,这是一个模糊的问题,但实际上是一个好问题。如果能找到一个好的答案(即对初学者有用),那就太好了。有人告诉我,如果使用[UIImage imagename:@“image.png”]
,这将不会从内存中释放图像。2.如何保存数据并恢复。使用默认值?如果您使用coreData,这很容易。但如何保存nsarray例如,我可以将其保存到nsuserdefaults或plist文件。正确的方法是什么。[UIImage ImageName]缓存所有图像。它可能会在内存警告时释放。2.对于保存大量数据,您应该使用coredata,对于一些数据,NSUserDefaults是一个好方法。如果您想用一些自定义对象保存数组(在NSUserDefault中),您应该为其中的每个自定义类实现NSCoding协议。如何释放随loadView添加的UIView。有些人说需要使用viewDidUnload,但appentertobackgroundmode这个方法不会调用。