在Apple文档中,您可以发现Apple建议在应用程序进入后台模式时释放大量数据,如图像。
如何从UIViews
和其他数据发布图像?
如何从所有viewController
正确的方式发布UIViews
的图片?
如何在应用程序获取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与方法:从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];
}
子类所有的视图控制器。在方法appDidBackground你应该释放不需要的数据,在appWillForeground - 恢复它
1.有人告诉我,如果使用'[UIImage imagenamed:@“image.png”]' - 这将不会释放内存中的图像。 2.如何保存你的数据然后恢复。使用NSUserDefaults?如果你使用coreData,这很容易。但是,例如,如何保存nsarray,我可以将它保存到nsuserdefaults或plist文件中。什么是正确的方式? – rowwingman 2012-02-28 12:30:36
1. [UIImage imageNamed]缓存所有图像。它可能会在内存警告中释放。 2.为了节省大量数据,您应该为用户coredata提供一些数据 - NSUserDefaults是一种好方法。如果你想用一些自定义对象保存一个数组(在NSUserDefaults中),你应该为其中的每个自定义类实现NSCoding协议。 – NeverBe 2012-02-28 12:57:40
如何发布使用loadView添加的UIView。有些人说需要使用viewDidUnload,但是app进入后台模式,这个方法不会调用。 – rowwingman 2012-07-19 19:03:00
- 1. 当应用程序进入后台并进入前台时调用UIViewController方法
- 2. 当应用程序进入后台时可以调用webRequest吗?
- 3. 当应用程序进入后台时,应用程序代理不会调用
- 4. 当应用程序进入后台时关闭弹出窗口
- 5. 当应用程序进入后台时取消API请求
- 6. 当应用程序刚进入后台时显示提醒
- 7. 当应用程序进入后台时处理事件
- 8. 当应用程序进入后台时关闭modalviewcontroller
- 9. 当应用程序进入后台时运行MPMoviePlayer
- 10. 当应用程序进入后台时开始播放音频文件
- 11. Facebook应用程序进入前台后
- 12. 当Android应用程序从后台进入前台时如何获取回调?
- 13. 图形错误NSVisualEffectView当应用程序在后台
- 14. 当应用程序进入前台时检测远程通知
- 15. 当我的应用程序进入后台模式时,如何更新位置管理器和计时器?
- 16. sockettimeOutexception当应用程序在后台进入
- 17. 当iOS应用程序确实进入后台
- 18. 当iOS应用程序进入后台状态时启动线程
- 19. 当应用程序处于后台时进行排队呼叫
- 20. 如何识别应用程序进入后台的方式?
- 21. 意图当应用程序在后台时立即打开应用程序-Android
- 22. GPS在应用程序进入后台状态时不停止
- 23. 如何在应用程序处于后台时进入活动?
- 24. NSCache在应用程序进入后台时清空
- 25. 应用程序进入后台时的任务取消
- 26. 如何在进入后台时关闭iPhone应用程序?
- 27. Android应用程序在进入后台时退出
- 28. 进入ANR模式的应用程序
- 29. Android:释放APK后(释放模式),当我在应用程序中打开相机模型。应用程序会崩溃?
- 30. 如何在应用程序放入后台时关闭警报视图?
为什么这么多downvotes?好的,这是一个模糊的问题,但实际上是一个很好的问题。实际上很高兴看到这个答案(即对初学者有用)。 – 2012-02-27 15:49:34