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