Как выявить самые большие утечки памяти?

#ios #memory #memory-leaks #instruments

#iOS #память #утечки памяти #инструменты

Вопрос:

Для настройки моего приложения iOS с помощью инструментов xcode4,

  • Использование activity monitor

Реальное увеличение использования памяти с 10 МБ до 100 МБ (я использую iPod для тестирования, сомневаюсь, что мое приложение может использовать память до 100 МБ, невозможно?)

  • Использование утечек памяти

Сортировка по байтам, самые большие блоки памяти кажутся всего 100 КБ, кажутся бессмысленными

Есть ли хорошая практика, чтобы определить самую большую утечку памяти?

Спасибо

Ответ №1:

Если он показывает вам более 100 МБ, то вы, вероятно, используете столько — вот к чему может привести утечка памяти: из-за того, что выделенная память не освобождается, даже если память блокирует небольшую по сути, она может накапливаться до больших чисел. И большое количество блоков по 100 КБ может в сумме составить большой объем памяти, если вы создадите их много.

Поэтому смотрите не только на самый большой блок памяти, но прежде всего на количество блоков памяти или вообще на количество живых объектов. Сделайте снимки кучи и сравните их — после прогрева ваших приложений (прогрев означает заполнение кэшей и переменных) вы больше не должны видеть увеличения количества живых объектов.