Я использую средство выбора UIImage, локальное уведомление, календарь событий, средство выбора даты, совместное использование Facebook, звуки, контроллер навигации, базу данных. Мое приложение через некоторое время выходит из строя, причина не та же, иногда память переполняется, а иногда слишком много других получают предупреждение о памяти. Подскажите, пожалуйста, как вообще удалить течи?
Застрял в утечках памяти в моем проекте
Ответы (4)
Взгляните на этот учебник по Cocoa: Устранение утечек памяти с помощью инструментов. Инструменты - это способ найти утечку.
Дополнительные ресурсы:
- Поиск утечек памяти iPhone: руководство по инструменту «Утечки»
- Официальные рекомендации Apple по производительности использования памяти / Поиск утечек памяти
Используйте Intstruments с профилем Leaks... см. эту статью Leaks!
1.прежде всего освободите объекты в Dealloc . 2. Перейдите в xcode, там в главном меню вы найдете вкладку сборки. В ней нажимается сборка и анализ. Это дает ошибки. Удалите эти предупреждения.
Если вы используете объекты autorelease
, убедитесь, что они освобождаются в нужное время. Если вы можете, постарайтесь не использовать Interface Builder
, я чувствую, что что-то не так, когда дело доходит до памяти.
Проверьте NSString
объекты, они могут иметь разрушительные последствия, если их не выпустить вовремя.
также помните, что [UIImage imageNamed@"abc.png"]
кэширует изображения, что также вызывает предупреждения о нехватке памяти.
Попробуйте создать иерархию представлений программно.