Чистые байты в инструментах 4 - PullRequest
1 голос
/ 27 мая 2011

Я довольно новичок в xcode. Только что завершил свое первое приложение для iPhone. Я использовал вид Утечки и не нашел никаких проблем. Теперь я хотел бы сделать еще один уровень проверки, наблюдая за количеством байтов, выделенных, но не освобожденных после различных операций.

Я вижу ответы, аналогичные приведенным ниже, которые относятся к столбцу «net bytes» в представлении «Распределение инструментов» и являются правильной метрикой.

Проверка выделения памяти в приборах

К сожалению, в Instruments / Xcode 4 у меня нет этого столбца, и он не отображается при щелчке правой кнопкой мыши по заголовкам столбцов.

Может кто-нибудь сказать мне, как посмотреть столбец «net bytes» или эквивалент?

Спасибо.

1 Ответ

2 голосов
/ 27 мая 2011

Эквивалентом 'net bytes' является 'live bytes'. Это показывает, сколько памяти использует ваше приложение прямо сейчас. Для других столбцов:

  • # living : Показывает, сколько объектов выделено сейчас
  • # транзитный : показывает, сколько объектов было выделено, а затем перераспределена
  • # в целом: Является суммой "#living" и "# транзитного"
  • Всего байтов : сумма памяти, которая будет использоваться, если все '#overall' объекты, где еще выделяется.

Важно не только уменьшить количество «живых» байтов, но и «общий объем байтов», поскольку из-за большого количества выделений приложение в конечном итоге замедлится.

Еще один совет: если вы хотите проверить, не утечка памяти у какой-то конкретной операции, используйте кнопку «пометить хэпшот» слева. Это сузит отображаемое использование памяти до того, что изменилось в вашей памяти, после того, как вы нажали кнопку. Поэтому для проверки на утечки сделайте следующее:

  • A: Запустите приложение и приведите его в состояние x
  • B: нажмите «Отметить снимок»
  • C: выполнить действия, которые вы подозреваете, чтобы утечка памяти
  • D: Переведите ваше приложение в состояние x и перейдите к B

Сделайте это несколько раз, чтобы убедиться, что растущая куча вызвана утечками памяти, а не только нагревом кэшей.

Кроме того, обратите внимание на видео WWDC за последние годы , особенно «Сессия 311 - Расширенный анализ памяти с помощью инструментов», которая может вас заинтересовать.

...