Должен ли я выпустить данные NSDataWithContentsOfURL? - PullRequest
1 голос
/ 29 июня 2011

Вопрос по памяти mgmt следующего:

NSData *returnData = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]                                                options:0                                                     error:&err];

Мы наблюдаем скачок нашего распределения здесь, но не уверены, должен ли я освобождать эту память после того, как я удалил ее.

Я получаю исключение, когда пытаюсь выпустить, поэтому не понимаю что-то о внутренностях.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Нет. Возвращается autorelease d в соответствии с соглашением об именах.

Вы можете проверить руководство по программированию управления памятью: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

0 голосов
/ 29 июня 2011

Нет, вам не нужно выпускать его.Метод dataWithContentsOfURL: возвращает объект autorelease.Он будет освобожден автоматически, если вы не сохраните его явно.

Автоматически, то есть, если текущий поток правильно настроил для него NSAutoreleasePool.Все autorelease объекты высвобождаются при сливе их NSAutoreleasePool.Если вы обнаружили утечку в этом коде, то, возможно, соответствующий пул не истощается достаточно часто (или, возможно, вовсе не).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...