#iphone #ios #ios4 #instruments
#iPhone #iOS #ios4 #инструменты
Вопрос:
Снимок экрана с помощью инструментов
Общее использование памяти увеличивается в моем приложении iOS, но живые байты остаются постоянными. Но приложение вылетает, как только общее использование памяти превышает 150 МБ, с уровнем предупреждения о памяти 2. Живые байты находятся в пределах 6 МБ. У меня нет другого приложения, запущенного в iPod touch.
При использовании инструментов, какой раздел нам нужно просмотреть, чтобы получить информацию об использовании памяти. В этом приложении нет утечек памяти.
Что может быть причиной уровня предупреждения о памяти 2, когда живые байты находятся в пределах 6 МБ?
Комментарии:
1. Боже .. Вы выпустили какой-либо выделенный объект в своем приложении? Пожалуйста, проверьте, где вы получаете утечки.. Если вы не знаете, как определить места утечки памяти, вы можете обратиться к видеороликам сеанса WWDC от Apple. Надеюсь, это вам поможет.
2. Это может быть вызвано тем, что приложение пытается выделить сразу много памяти (может быть, 20-30 МБ?). Проходит ли ваше приложение через тот же код в начале без предупреждения? Если это так, то в памяти накапливается что-то неизданное. Кроме того, убедитесь, что вы просматриваете ВСЕ выделения. Не только те, у которых есть префиксы CF и NS.
3. Есть ли вероятность, что у вас NSZombiesEnabled = ДА?
4. Как всегда, не доверяйте инструменту выделения объектов, который выдает вам общий объем памяти вашего приложения. Используйте инструмент мониторинга памяти для более точного считывания общего размера приложения. Это будет намного больше, чем 6 МБ, которые вы указываете здесь. Скорее всего, он достаточно велик, чтобы начать превышать системные ограничения на использование памяти.
5. @sach — Возможно, это не было утечкой в традиционном смысле, но все еще есть способы отследить их, как указывает здесь Билл Бумгарнер: friday.com/bbum/2010/10/17 /…