Использование инструментов «Распределение» с приложением для iPad - PullRequest
4 голосов
/ 12 января 2011

У меня проблема с моим приложением для iPad.После запуска в течение ок.Через 15 минут происходит сбой с сообщением «Программа получила сигнал:« 0 ».показывая в файле журнала.От Google я обнаружил, что это, вероятно, проблема использования памяти.В журнале консоли на iPad также есть несколько предупреждений памяти перед сбоем, которые, кажется, подтверждают это.

Я запустил свое приложение в Инструментах (xcode «Выполнить» -> «Запустить с Performance Tool»)-> «Распределения»).Здесь я начинаю немного запутываться.Инструменты показывают мне «Живые байты» и «Общие байты».Насколько я понимаю, «живые байты» - это фактический «след» памяти приложения, а «общие байты» - это общее количество всей памяти, которая была выделена и впоследствии освобождена.В моем приложении «Live Bytes» находится на ок.1,5 МБ, в то время как общий объем байтов постепенно увеличивается до 500 МБ, и в этот момент происходит сбой приложения.

Мой вопрос: сколько памяти использует мое приложение на самом деле ?500 МБ, безусловно, кажется проблемой для iPad, но 1,5 МБ, конечно, нет.

Спасибо

Стюарт

1 Ответ

7 голосов
/ 12 января 2011

Для фактического чтения того, сколько памяти использует ваше приложение, не используйте инструмент Object Allocations, а вместо этого переключитесь на Memory Monitor. Последний даст фактический объем памяти вашего приложения.

В тех случаях, когда распределение объектов велико, оно определяет, какие объекты вы накапливаете, с помощью новой функциональности кучи. Я настоятельно рекомендую прочитать статью Билла Бумгарнера на эту тему .

...