Проверка использования памяти во время работы приложения - PullRequest
12 голосов
/ 22 июня 2011

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

  1. Естьесть метод, который я могу использовать, чтобы проверить, сколько памяти использует мое приложение в определенный момент?
  2. Есть ли метод, который я могу использовать, чтобы проверить, сколько памяти использует устройство (iPhone / iPad) на определенном этапе?указать?может быть, даже чтобы проверить, сколько памяти еще доступно для использования?
  3. В общем, может, кто-нибудь знает, где я могу найти данные об ограничениях памяти для различных машин на базе iOS?

Спасибо, Охад

Ответы [ 4 ]

13 голосов
/ 22 июня 2011

Используя Instruments, вы можете проверить, сколько памяти использует ваше приложение.В Xcode4 используйте сборку «Профиль», выберите Leaks, затем нажмите кнопку «Библиотека» на панели инструментов и добавьте инструмент Memory Monitor.

Он покажет обзор каждого работающего приложения и сколькопамять, которую использует каждый.

3 голосов
/ 22 июня 2011

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

Попробуйте здесь: http://forrst.com/posts/Get_current_Memory_usage-hzw

2 голосов
/ 18 июля 2012

Вы можете проверить использование памяти, используя vm_statistics_data_t объект.Пожалуйста, найдите детали и реализацию здесь:

  1. http://gamesfromwithin.com/whered-that-memory-go
  2. http://landonf.bikemonkey.org/code/iphone/Determining_Available_Memory.20081203.html
0 голосов
/ 22 июня 2011

Вам не нужно беспокоиться о том, сколько памяти доступно.Операционная система управляет памятью и будет выдавать предупреждения основным потребителям памяти, когда память заканчивается.Что вам нужно сделать, так это убедиться, что вы правильно обрабатываете сообщения didReceiveMemoryWarning и избавляетесь от любых данных, которые могут быть перезагружены по требованию позже.Кроме того, если ваше приложение испытывает проблемы с производительностью, вам следует использовать инструменты для проверки использования ваших приложений в обычных ситуациях и быть уверенным, что вы используете память эффективно и загружаете только большие объекты, которые ДОЛЖНЫ быть в памяти в это время.

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