В образце Apple TopSongs есть 26 утечек
Привет всем, я создавал приложение для клиента, и часть его использует пример приложения Apple TopSongs для загрузки данных в другой поток. Я наконец сделал достаточно, чтобы начать тестирование этой части и обнаружил>1000 утечек!!! Более внимательный взгляд на утечки заставил меня проверить TopSongs на утечки, так как ни один из моих методов не был в отчете об утечках. Запуск TopSongs дал 26 утечек. Не совсем уверен, как их исправить, или если они являются частью какой-то библиотеки от Apple.
Бьюсь об заклад, вы спрашиваете, есть ли у него 26, почему у вас>1000? Ну, я использую их пример, чтобы сделать примерно 48 звонков на веб-сервисы, чтобы получить всю информацию, необходимую при первоначальной установке (48 звонков x 26 утечек = 1248 утечек!!). Позже он делает по крайней мере 12 звонков + 4, чтобы проверить наличие обновленной информации о других разделах приложения. Не могу ничего с этим поделать, не могу сделать один звонок или меньше звонков, пожалуйста, не комментируй эту часть. Я видел, как люди отвечают на посты, которые не обязательно отвечают на вопрос, который первоначально отправил пользователь, который в данном случае пытался исправить утечки, если они исправимы, или это ошибка в библиотеках Apple?
Спасибо.
4 ответа
Вы можете найти исправленную версию TopSongs здесь: http://www.bigbluebrains.com/index.php/2010/08/16/iphone-topsongs-sample-code-memory-leak-fix/
Это более вероятно из-за ошибки в небрежном примере кода, чем в самой библиотеке; Обязательно ознакомьтесь с методами управления памятью Какао, а затем приготовьтесь к сезону охоты на ваббитов.
Как указывалось ранее в отношении переполнения стека, некоторые зарегистрированные утечки происходят только в симуляторе. Так что следите за этим и используйте "построить и проанализировать" в меню сборки, чтобы CLANG помог вам найти утечки памяти.
Установлены Snow Leopard и Xcode 3.2 со встроенным лязгом. Проанализировал код и не было проблем. Я снова запустил приложение утечки инструмента на iPhone и все еще было 26 утечек. Решил не использовать образец кода Apple для этого.
*******НОТА:
Это был ответ, который я принял, но так как он не отвечал на вопросы, я удалил его и принял ответ, который отвечает на вопрос.