Я стараюсь следовать рекомендациям Apple обрабатывать предупреждения с низкой памятью (найденные в сеансе 416 видеороликов WWDC 2009), освобождая ресурсы, используемые для освобождения моего объекта dataController (ссылка в моем приложении делегат), который содержит большое количество строк для чтения из списка свойств:релиз не освобождает память в условиях низкой памяти
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
[_dataController release];
_dataController = nil;
NSLog([NSString stringWithFormat:@"applicationDidReceiveMemoryWarning bottom... retain count:%i", [_dataController retainCount]]);
}
Но когда я бегу ObjectAlloc в инструменты и имитировать Low-памяти Состояние, я не вижу уменьшение память, используемая моим приложением, хотя я вижу выписанные инструкции NSLog, а счетчик сохранения равен нулю для объекта. Я передаю ссылки на делегат приложения на некоторые из контроллеров представления. Но приведенный выше код освобождает ссылку на объект _dataController (содержащий данные plist), поэтому я ожидаю, что память будет освобождена.
Любая помощь будет оценена по достоинству.