2013-05-15 2 views
2

У меня проблема с моим приложением iOS, которое экспоненциально медленнее реагирует на жесты касания.iOS App Memory профилирование

Это игра в алфавит, поэтому она проходит через список из 26 изображений.

Использование инструментов, это выглядит как след памяти Healty на ~ 6-7 Мб:

Instruments allocations

Update: Вот снимок моего запущенного приложения в профилировщике .. это выглядит голодным - использование реальной памяти (синяя линия) в 300 - 500 Mb диапазоне ..

enter image description here

Я не профилированный до и найти приложение инструменты довольно неинтуитивными. Может ли кто-нибудь дать мне указатель высокого уровня, чтобы я начал сужать это?

+0

Любая возможность отображения 26 изображений с использованием элемента управления страницей и UIScrollView? – Alex

ответ

3

Пара мыслей:

  1. Я предлагаю смотреть видео WWDC 2012, Learning Instruments.

  2. WWDC 2010 видео, Advanced Memory Analysis with Instuments может сосредоточиться больше на памяти. В течение последних нескольких лет в Инструментах могут наблюдаться поверхностные изменения пользовательского интерфейса, которые он не отражает, но концепции и идеи по-прежнему применимы.

  3. Использование зомби замечательно для обнаружения более выпущенных предметов, где у вас могут быть оборванные указатели. Это невероятно полезно при ручном подсчете ссылок (MRC, т. Е. Вы отключили ARC), но меньше значения в мире автоматического подсчета ссылок (ARC). Это достигается путем отслеживания «освобожденной» памяти. Но на самом деле он потребляет память для достижения этого. Я предлагаю отключить зомби, как только вы решите проблему с избыточным выпуском, иначе вы увидите, что память не будет возвращена в приложение так быстро, как в противном случае.

  4. Особенно, если вы не используете ARC, проверьте статический анализатор (нажмите сдвига + команда + B или выберите «Анализ» в меню «Product»). Это идентифицирует многие ошибки управления памятью.

+0

Да, я использую ARC. Я буду проверять видео WWDC, поскольку мне действительно нужна фундаментальная идея о том, как отслеживать проблему, которая не выглядит логически связанной, а связана с дизайном. Обновлено с помощью другого вида инструментов. – HCdev

+0

Есть тонна видео WWDC, которые иллюстрируют различные инструменты. Это всего лишь два, которые выскочили на меня. Я также предлагаю, чтобы [WWDC 2012 - производительность приложений iOS: память] (https://developer.apple.com/videos/wwdc/2012/?id=242) также включает некоторые практические демонстрации в последней части видео , Удачи! – Rob

0

Вам необходимо отключить NSZombieEnabled.

Перейдите к своей схеме и в конфигурации запуска перейдите к разделу «Диагностика» и убедитесь, что флажок «Включить объекты зомби» не установлен.

Смежные вопросы