Проверка выделения памяти в инструментах

Я очистил свое приложение от утечек с помощью инструмента утечек, но я все еще замечаю, что инструмент objectalloc резко увеличивает количество выделенных объектов и занимаемое место, когда я переключаю представления.

Я особенно вижу большое количество:

GeneralBlock-16 с главным образом Foundation, ответственным за вызывающего NSLogv

и

GeneralBlock-0, в основном отвечающий за QuartzCore

Какие-нибудь советы о том, что я могу сделать для дальнейшей отладки?

Спасибо!


person mac_55    schedule 30.06.2009    source источник


Ответы (2)


Инструмент ObjectAlloc предназначен для построения графика общего распределения объектов с течением времени и не принимает во внимание освобождение. По сути: он всегда будет расти.

Что вы можете сделать, так это посмотреть на столбцы Net Bytes и # Net. Эти столбцы будут настраиваться в зависимости от количества объектов, которые вы освобождаете, и если вас беспокоит общее распределение объектов, вы можете использовать их для измерения производительности вашей программы.

Вы можете взглянуть на эту ветку на форумах службы поддержки Apple - там больше с помощью каких инструментов измеряет и как вы можете протестировать свое приложение.

person Tim    schedule 30.06.2009
comment
Извините, возможно, мой вопрос был непонятным. Я знаю, что распределение объектов всегда увеличивается, однако я имел в виду Net Bytes и #Net, которые также никогда не снижаются, что вызывает беспокойство. Нажатие представлений в контроллерах навигации значительно увеличивает эти числа, в то время как всплывающие представления не уменьшают их. Также беспокоит само количество GeneralBlock-0. Я действительно хочу знать, почему существует так много 0-битных объектов. - person mac_55; 30.06.2009
comment
Это не совсем правильно; вы можете настроить инструмент «Распределение» на отслеживание только «живых» выделений. В этом случае столбцы будут точно отражать то, что сейчас находится в памяти. - person bbum; 20.02.2011
comment
bbum прав, в Xcode 4 шаблон распределения по умолчанию в инструменте показывает «Все распределения», разбитые на столбцы, отображающие как текущие байты, так и общие байты. - person MattyG; 11.09.2011

Вам следует проверить http://developer.apple.com/videos/wwdc/2010/?id=311.

Отличное видео с WWDC 2010 об анализе памяти с помощью инструментов.

person Alex    schedule 19.09.2011