Недостаточно памяти с 640Kb живых байтов? - PullRequest
2 голосов
/ 19 мая 2010

У меня проблема с моим приложением, которое должно отображать много изображений и видео.

После запуска инструмента ObjectAlloc, я вижу, что количество активных байтов составляет 640 КБ, а общая память составляет 31,54 МБ при сбое приложения.

В органайзере я получаю отчет "недостаточно памяти", поэтому я предполагаю, что приложение упало из-за недостатка памяти, но данные ObjectAllocation не имеют для меня никакого смысла ...

Есть идеи?

Это журнал сбоев Организатора:

Incident Identifier: CDCAF38C-CFFD-4316-9C4A-5C8E37794B49
CrashReporter Key:   65390aeb97b2b81076576c3e33b025feb5db9202
OS Version:          iPhone OS 3.1.3 (7E18)
Date:                2010-05-19 10:07:19 +0200

Free pages:        372
Wired pages:       12260
Purgeable pages:   0
Largest process:   DTMobileIS

Processes
         Name                 UUID                    Count resident pages
       ATreeTest <1d51c3a5fef8b747c3a1be9405bdd52a>    1150 (jettisoned) (active)
      DTMobileIS <69c3fa96db2f29474d62964aa1a69bfa>    3316
notification_pro <8a7725017106a28b545fd13ed58bf98c>      68
    mediaserverd <3d3800d6acfff050e4d0ed91cbe2467e>     464 (jettisoned)
         syslogd <8eddddc00294d5615afded36ee3f1b62>      56 (jettisoned)
            apsd <32070d91b216d806973c8f1b1d8077a4>     173
     SpringBoard <324939a437d1cca1fa4af72d9f5d0eba>    2475 (jettisoned) (active)
      accessoryd <8f21c8b376d16e2ccb95ed6d21d8317a>      99 (jettisoned)
notification_pro <8a7725017106a28b545fd13ed58bf98c>      64
            ptpd <f5e735bffd0557fcdc53cb35b6d9ce66>     129
         notifyd <591dd4dd804b4b8741f52335ea1fa4ab>      64
      CommCenter <b4b87526ae086bb62c982f1078f43f81>     167
         configd <85efd41aceac34ccc0019df76623c7a9>     294
       fairplayd <a2eaf736b3e07c7c9a2c82e9eb893555>      91
   mDNSResponder <df1cd275e4ad434e0575990e8e1da4cb>     101
       lockdownd <80d2bd44c0bcca273d48ce52010f7e65>     285
         launchd <a5988245aade809bf77576f1d9de42c5>      71



**End**

1 Ответ

7 голосов
/ 19 мая 2010

Инструмент ObjectAlloc не отображает полное использование памяти вашего приложения, особенно если у вас много элементов пользовательского интерфейса, с которыми вы имеете дело. Для более точного считывания общего объема памяти вашего приложения в любой момент времени используйте инструмент Memory Monitor. Вы увидите, что ваше приложение действительно превышает порог памяти на устройстве. ''

Вы можете добавить инструмент Memory Monitor, нажав кнопку «Библиотека» на панели инструментов в разделе «Инструменты». Появится список всех доступных инструментов, и вы перетащите Memory Monitor в область инструментов главного окна.

Если вы объедините инструмент Memory Monitor с ObjectAlloc, вы сможете отслеживать, что вызывает скачки памяти в вашем приложении. Выберите параметр Track inspection head для монитора памяти (под списком инструментов; сначала нажмите на диспетчер памяти, чтобы активировать инструмент, параметры появятся на нижней панели), чтобы просмотреть записанный объем памяти приложения в любой момент его выполнения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...