Утечка памяти из библиотеки Foundation и CFNetwork - PullRequest
0 голосов
/ 22 апреля 2010

Я использую инструменты для решения проблем утечки памяти для приложения в iPhone. Я просто хотел узнать, нужно ли мне устранять утечки из библиотек Foundation и CFNetwork. В частности, утечки из:
1. NSCFString
2. NSConcreteData
3. Общий блок-3584
Поскольку они не указывают непосредственно на код, который я написал, как мне их разрешить, если мне нужно?

Спасибо.

Ответы [ 3 ]

1 голос
/ 27 января 2012

У меня возникли те же проблемы с утечками памяти, которые указывали на CFNetwork и Foundation Framework Небольшое исправление очистило все утечки памяти. При использовании асинхронного HTTP-соединения я столкнулся с этой проблемой.

Проблема:

В делегате, - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*) ответ,

Я скопировал NSURLResponse и выпустил.

Решение:

Не копировать и не выпускать NSURLResponse . Просто используйте его как свойство asstype в вашем заголовочном файле.

1 голос
/ 22 апреля 2010

Почти наверняка утечки памяти происходят из вашего кода - в библиотеках Foundation почти нет утечек памяти при условии, что вы тестируете на устройстве (в симуляторе есть утечки памяти, поэтому вы всегда должны проверять на Устройство). Не всегда сразу очевидно, откуда берется утечка, и по вашему вопросу трудно сказать, но я думаю, что это происходит из-за утечки NSString (NSStrings реализовано с NSCFString под капотом) или сети связанный класс, как NSURLConnection.

0 голосов
/ 23 апреля 2010

Утечка General Block-3584 выглядит так, как будто она может быть из каркаса.
Утечка - GeneralBlock-3584

Спасибо, Эман!

...