Я отслеживаю, почему ссылки NSObject, будучи явно выпущенными, все еще отображаются в ObjectAlloc. Фактически, сведенный NSObject к базовой оболочке, с [[myObject alloc] init] сразу же следует за [myObject release], и не похоже, что он выпущен в ObjectAlloc. Это большая проблема с приложением NavigationController, которое выталкивает/выдает несколько контроллеров представлений, поскольку недавно выпадающие контроллеры просмотра не освобождаются из-за этих «невыпущенных» ссылок NSObject. Hmmmmmm.NSObject release ... Все еще отображается в ObjectAlloc
Я мог бы поставить свой код здесь, и у вас есть куча «У вас есть, что никогда не добирайтесь. Пулы Autorelease, бла-бла.
Итак, давайте рассмотрим пример приложения «SeismicXML» от Apple ... запустите его в ObjectAlloc/Leaks. Очень простой в getEarthquakeData:
XMLReader *streamingParser = [[XMLReader alloc] init];
[streamingParser parseXMLFileAtURL:[NSURL URLWithString:feedURLString] parseError:&parseError];
[streamingParser release];
Я вижу ТОННУ мусор вокруг прокладки в ObjectAlloc из XMLReader, несмотря на отпуская ее. Бьюсь об заклад, если мы добавим кнопку «Обновить» в этом приложении, чтобы снова вызвать «getEarthquakeData», мы отменили бы приложение в течение 5 обновлений.
Любые мысли?
Вы пробовали телефон или просто симулятор? Какова фактическая проблема, которая вызывает у вас 101 выход? –