Проверка приложения iOS на использование памяти в приборах - PullRequest
2 голосов
/ 27 сентября 2011

Я хочу убедиться, что я правильно читаю плагин размещения.Я тестирую приложение для iPad, которое получает предупреждения о памяти 1, 2 и 3. Я хочу узнать текущее израсходованное количество памяти из моего приложения, которое, я думаю, должно быть столбцом "Live Bytes"?который отмечает Все выделения * от 1002 * до 2,42 МБ, что, по моему мнению, является низким.

Что сообщают другие столбцы?#Transitory, Всего байт?Кроме того, если мое приложение использует только 3 МБ памяти, можно ли его отключить, если я получу предупреждение об уровне памяти 3 без освобождения?

Спасибо.

enter image description here

Ответы [ 2 ]

9 голосов
/ 28 сентября 2011

Не используйте инструмент «Выделение объектов» для просмотра общего использования памяти.Он не отображает истинный общий объем памяти вашего приложения, по причинам, о которых я размышляю в своем ответе here .

Вместо этого, пара Object Allocations с инструментом Memory Monitor, последний изкоторый покажет истинный общий размер вашего приложения.Я готов поспорить, что он намного больше, чем 2,42 МБ, который вы видите в распределении объектов (например, у меня было приложение с 700 КБ использования памяти в соответствии с ObjectAlloc, но его фактический размер был ~ 25 МБ в памяти).Если вы получаете предупреждения о памяти на iPad, ваше приложение, вероятно, потребляет немного памяти.

Распределение объектов удобно для того, чтобы сообщить вам, что у вас есть в памяти, но не является точным индикаторомразмер этих предметов.Это также отличный инструмент для демонстрации постоянного увеличения выделенных объектов с помощью функции «выстрел кучи» (кнопка «Пометить кучу» на левой стороне инструмента).

0 голосов
/ 27 сентября 2011

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

Когда я просматривал журналы, я заметил, что другие приложения получали их во время работы моего приложения, другие приложения, такие как Почта или навигационные приложения (Navigon), запускались в фоновом режиме и вызывали нехватку памяти. Вы можете получить предупреждение памяти, но не должны быть прерваны.

Описание столбцов памяти см. Объяснение живых байтов и общих байтов .

Как указывает @Brad, также используйте инструмент мониторинга памяти.

...