0

我正在使用分配工具来提高我的应用程序的性能。我想注意 memoryWarnings 以确保我的应用程序不会占用太多内存或崩溃。

我希望我的整个应用程序都能收听 memoryWarings。我知道我可以用它来收听某些警告,但是下面的代码会收听所有内容吗?另外,我需要在哪里实现它?我需要把它放在每个 View Controller 中还是可以放在 App Delegate 中?

- (id)init {
if ((self = [super init])) 
    {
    _cache = [NSMutableDictionary new];
    [[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(memoryWarning:) 
    name:UIApplicationDidReceiveMemoryWarningNotification object:nil];
    }
return self;
}

我知道我需要实现监听 memoryWarnings 的方法。这会听所有的内存警告吗?另外,我需要把它放在每个 viewController 中吗?或者我可以以某种方式将它放在 AppDelegate 中吗?

- (void)memoryWarning:(NSNotification*)note {
    [_cache removeAllObjects];
}

任何指导都会很棒!谢谢!

4

1 回答 1

1

你的视图控制器已经有一个方法来监听内存警告

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

// Release any cached data, images, etc that aren't in use.
}
于 2013-02-16T10:21:26.157 回答