首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >didReceiveMemoryWarning故障

didReceiveMemoryWarning故障
EN

Stack Overflow用户
提问于 2011-05-20 02:21:07
回答 1查看 844关注 0票数 0

我的didReceiveMemoryWarning中应该有什么?我看不到仍在内存中的任何我可以释放的东西。我为我的managedObjectContext设置了一个属性,这就是为ivars设置的属性。

代码语言:javascript
复制
- (void)viewDidLoad
{
    [super viewDidLoad];

    UIBarButtonItem *calendar = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"calendar.png"]style:UIBarButtonItemStyleBordered target:self action:@selector(viewCal)];
    self.navigationItem.rightBarButtonItem = calendar;
    [calendar release];

    UIBarButtonItem *settings = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"gears.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(viewSettings)];
    self.navigationItem.leftBarButtonItem = settings;
    [settings release];

    [SHK flushOfflineQueue];
    [self clearNullWorkouts];
}


- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Relinquish ownership any cached data, images, etc that aren't in use.
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-20 02:34:11

在SHK是什么让你成为flushOfflineQueue,clearNullWorkouts是做什么的?这些可能是您在didReceiveMemoryWarning期间需要释放的资源类型。同样,因为didReceiveMemoryWarning触发并不意味着您必须清理任何东西,例如,如果您仍在显示视图,播放正在引用的音频文件,等等。当这个调用时,您需要释放一些东西,如未显示的图像,未正在播放的音频等。在调用didReceiveMemoryWarning之后,未显示的视图控制器将调用viewDidUnload,这就是您将所有IBOutlet/编程视图设置为空并释放更多内存的地方。苹果在Memory Management Programming Guide中讨论了这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6063117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档