我如何对UIApplicationDidReceiveMemoryWarningNotification做出反应?

时间:2009-04-11 17:15:55

标签: iphone

当内存变低时,系统会发送UIApplicationDidReceiveMemoryWarningNotification通知。但我不明白......这不是我必须在我的App代表中实现的方法,对吧?我如何收到此通知?

2 个答案:

答案 0 :(得分:2)

您将在应用代理中实施“applicationDidReceiveMemoryWarning:(UI Application *)应用程序”。

这是一个警告通知,告诉您即将超出内存限制,此时操作系统将终止您的应用程序进程 - 在applicationDidReceiveMemoryWarning中,您有机会释放并释放一些内存以防止操作系统从杀死你的应用程序。

@interface MyApp: NSObject <UIApplicationDelegate>
{
}
@end
@implementation
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
  [[TextureMgr sharedTextureMgr] removeAllTextures];
}
@end

这是该功能的标准'Cocos2D-iphone'实现。

答案 1 :(得分:2)

您的app委托可以实施-applicationDidReceiveMemoryWarning:方法。其他对象可以注册为UIApplicationDidReceiveMemoryWarningNotification的观察者。请参阅http://developer.apple.com/iphone/library/documentation/Performance/Conceptual/ManagingMemory/Articles/MemoryAlloc.html#//apple_ref/doc/uid/20001881-SW1

上“管理您的内存使用情况”文档中的部分