В образце Apple TopSongs есть 26 утечек - PullRequest
1 голос
/ 09 марта 2010

Привет всем, я создавал приложение для клиента, и часть его использует пример приложения Apple TopSongs для загрузки данных в другой поток. Я наконец сделал достаточно, чтобы начать тестирование этой части и обнаружил> 1000 утечек !!! Более внимательный взгляд на утечки заставил меня проверить TopSongs на утечки, так как ни один из моих методов не был в отчете об утечках. Запуск TopSongs дал 26 утечек. Не совсем уверен, как их исправить, или если они являются частью какой-то библиотеки от Apple.

Бьюсь об заклад, вы спрашиваете, есть ли у него 26, почему у вас> 1000? Ну, я использую их пример, чтобы сделать примерно 48 звонков на веб-сервисы, чтобы получить всю информацию, необходимую при первоначальной установке (48 звонков x 26 утечек = 1248 утечек !!). Позже он делает по крайней мере 12 звонков + 4, чтобы проверить наличие обновленной информации о других разделах приложения. Не можете ничего с этим поделать, не можете сделать один звонок или меньше звонков, пожалуйста, не комментируйте эту часть. Я видел, как люди отвечают на сообщения, которые не обязательно отвечают на вопрос, изначально опубликованный пользователем, который в данном случае пытался исправить утечки, если они исправимы, или это ошибка в библиотеках Apple?

Большое спасибо.

Ответы [ 4 ]

6 голосов
/ 09 марта 2010

Это более вероятно из-за ошибки в неаккуратном примере кода, чем в самой библиотеке; Обязательно ознакомьтесь с методами управления памятью Какао, а затем приготовьтесь к сезону охоты на ваббитов.

1 голос
/ 16 августа 2010

Вы можете найти фиксированную версию TopSongs здесь: http://www.bigbluebrains.com/index.php/2010/08/16/iphone-topsongs-sample-code-memory-leak-fix/

1 голос
/ 09 марта 2010

Как указывалось ранее для переполнения стека, некоторые зарегистрированные утечки происходят только в симуляторе. Так что следите за этим и используйте «построить и проанализировать» в меню сборки, чтобы CLANG помог вам найти утечки памяти.

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

Установлены Snow Leopard и Xcode 3.2 со встроенным лязгом. Проанализировал код и не было проблем. Я снова запустил приложение утечки инструмента на iPhone и все еще было 26 утечек. Решил не использовать образец кода Apple для этого.

******* Примечание:

Это был ответ, который я принял, но поскольку он НЕ ОТВЕТИЛ на вопросы, я удалил его и принял ответ, который отвечает на вопрос.

...