我正在尝试遵循 Apple 的建议来处理内存不足警告(在 WWDC 2009 视频的 Session 416 中找到),方法是通过释放包含大量字符串的 dataController 对象(在我的应用程序委托中引用)来释放使用的资源从 plist 中读取:
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
[_dataController release];
_dataController = nil;
NSLog([NSString stringWithFormat:@"applicationDidReceiveMemoryWarning bottom... retain count:%i", [_dataController retainCount]]);
}
但是当我在 Instruments 中运行 ObjectAlloc 并模拟低内存条件时,我没有看到我的应用程序使用的内存减少,即使我看到 NSLog 语句被写出并且对象的保留计数为零。我确实将应用程序委托的引用传递给了一些视图控制器。但是上面的代码释放了对 _dataController 对象(包含 plist 数据)的引用,所以我希望内存被释放。
任何帮助,将不胜感激。