Как вы видите конкретные методы, ответственные за распределение памяти в XCode Instruments? - PullRequest
4 голосов
/ 07 декабря 2011

Меня попросили попытаться уменьшить использование памяти в коде приложения, которое мне дали.Приложение прекрасно работает в симуляторе, но на устройстве оно завершается или что-то в этом роде, при отладке оно переходит в состояние «Приостановлено» и приложение закрывается на устройстве.

При запуске инструментов, которые я обнаружил утечки, исправил их,однако происходит большое количество ассигнований.В течение нескольких секунд после запуска трассировка распределения инструментов показывает 1021 КБ для «Malloc 16 Bytes».По сути, это бесполезная информация, мне нужно посмотреть, где выделяется память, но я не могу найти ничего полезного.Все, что я могу получить для более глубокого осмотра, - это то, что 'dyld', 'libsystem_c.dylib', 'libCGFreetype.A.dylib' и т. Д. Выделяют много, но ответственный вызывающий объект никогда не распознается из источника приложения.

Как я могу увидеть, какие методы вызывают наибольшее количество ресурсов?Мне нужно уменьшить это использование!Спасибо

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

Открытие расширенного подробного представления покажет стек вызовов для распределения памяти.Выберите «Просмотр»> «Расширенные сведения», чтобы открыть расширенное представление сведений.

Переключение на представление дерева вызовов поможет вам найти место, в котором вы выделяете память в своем коде.Используйте панель перехода, чтобы перейти к представлению дерева вызовов.

0 голосов
/ 07 декабря 2011

1MB не имеет большого значения.Вы не можете сделать многое с точки зрения создания полного представления без использования 1 МБ.

Есть хорошее видео с WWDC 2010 (http://developer.apple.com/videos/wwdc/2010/), которое охватывает использование инструментов для анализа использования памяти. Название - Расширенный анализ памяти сИнструменты. Может быть обновленное видео с 2011 года.

...