Добавление AdBannerView в приложение создает утечку памяти - PullRequest
0 голосов
/ 17 августа 2010

У меня есть работающее приложение для iPhone, использующее SDK 4.0. Он не показывает утечек в инструменте «Инструменты», и я совершенно уверен, что в коде нет утечек памяти.

Затем я попытался добавить iAds в приложение, и оно начало показывать утечки памяти. Чтобы устранить проблему, я удалил весь дополнительный код.

Осталось добавить AdBannerView в файл .xib (без единого изменения рабочей версии кода без iAds). Это показывает утечки памяти.

Каждый раз при загрузке представления инструмент «Инструменты» показывает 5 пропущенных блоков по 16 байт каждый, с ответственной библиотекой «Основание» и ответственным фреймом

[NSCFString copywithZone:]

Дальнейший запуск приложения дает мне утечки из ответственной библиотеки iAd (2 утечки по 48 байт каждая) и ответственного фрейма:

[AdBrandingFrame initWithFrame:]

Далее, я также получаю 48-байтовые утечки с ответственной библиотекой 'UIKit' и ответственным кадром

-[UIView _createLayerWithFrame:]

Поскольку в моем рабочем коде нет утечки, кроме добавления AdBannerView в файл .xib, мне интересно, является ли код Apple причиной утечки. Хотя утечка относительно мала, я бы хотел ее устранить. Я понимаю, что существует вероятность того, что утечка обнаруживается, хотя ее может и не быть (указатели все еще могут удерживаться ОС некоторым образом, о котором утечки не знают - было бы здорово знать, если это так ).

Итак, у меня было два вопроса:
1) Есть ли вероятность того, что проблема на самом деле в моем коде, и утечка по какой-то причине обнаруживается только после добавления AdBannerView? Если есть такая возможность, я бы провел еще один тщательный тест кода.

2) Если это проблема с кодом Apple, и кто-нибудь из вас сталкивался с этим, есть ли какие-нибудь обходные пути, которые вы нашли?

Любая помощь будет принята с благодарностью. Спасибо!

1 Ответ

0 голосов
/ 13 октября 2010

У меня просто была такая же проблема.Я думаю, что это было исправлено в IOS 4.1. Когда я тестировал в 4.0, я получил пару утечек "NSCFString copyWithZone".

...