Инструменты XCode: пиковая RAM приложений iPhone, работающих в Симуляторе?

Является ли Activity Monitor (он же Memory Monitor) единственным инструментом в Xcode Instruments, который может измерять общее использование оперативной памяти приложения iPhone, запущенного в Simulator? Только та строка, показывающая мгновенное проводное ОЗУ?

И насколько это точно по сравнению с аппаратным обеспечением iPhone, особенно с учетом ввода-вывода OSX для виртуальной машины?

Я вижу данные по 7–8 МБ для оперативной памяти только для скомпилированных и запущенных по умолчанию шаблонов проектов Xcode iPhone (кроме OpenGL). В то же время Распределение объектов показывает менее 1 МБ для всех объектов.

2 ответа

Нет, есть гораздо лучший способ сделать это.

Перейдите в меню "Выполнить" и выберите Run with Performance Tool затем Object Allocations,

Это запустит инструменты и покажет использование оперативной памяти. Это также полезно для обнаружения утечек памяти, если вы выбираете Leaks вместо Object Allocations,

Я бы согласился, поскольку Simulator - это просто "симулятор API", поведение, которое вы видите, будет, по крайней мере, несколько зависеть от того, как OS X управляет памятью. И ограничения, очевидно, разные, например, вы можете превысить 128 МБ ОЗУ или даже 256 МБ, что, очевидно, невозможно на любом текущем iPhone или iPod Touch (по крайней мере, на момент написания этой статьи...).

Я все еще нашел его полезным в OpenGL для того, чтобы удостовериться, что текстуры и другие элементы должным образом освобождены, но кроме этого, это всего лишь грубое руководство.

Однако, если вы хотите увидеть использование памяти на устройстве, есть достаточно простое решение. Просто выберите "Устройство" в XCode и перейдите в "Выполнить"> "Выполнить с помощью Performance Tool"> "Распределение объектов", затем сборка будет отправлена ​​на устройство, а инструмент "Распределение объектов" появится рядом с XCode и покажет использование памяти устройства.

Другие вопросы по тегам