ObjectAlloc инструменты: объяснение текущий байт в байт


Я использую инструмент ObjectAlloc Instument в попытке понять, что делает память моего приложения (iPhone) и когда и где он это делает.

Мне бы очень хотелось получить базовое объяснение этой статистики:

  • Текущий Байт
  • живое

  • преходящих

  • Общий Байт

когда я пытаюсь выяснить, сколько памяти использует мое приложение, я должен посмотрите на байты или байты? Это включает в себя утечку памяти? Что такое преходящие объекты?

спасибо

2 86

2 ответа:

ObjectAlloc отслеживает все выделение и освобождение памяти в течение времени работы программы.

The Living bytes, or Net bytes - это объем памяти, который ваше приложение использует в момент выбора на временной шкале. Это будет включать в себя утечку памяти, так как утечка памяти никогда не освобождается.

#Living сколько выделений определенного размера / типа объекта произошло (и все еще выделяется). Это очень полезно при поиске утечек.

например, если вы многократно выполняете действие (например, входите в контроллер модального вида), и вы видите, что #Living объекта увеличивается на ту же сумму каждый раз, то вы, вероятно, утечка этих объектов. Затем вы можете подтвердить, развернув и увидев точную строку кода, которая выделяет объекты, и даже увидеть индекс времени, каждый из которых был создан.

Overall bytes включает память, которая была освобождена. Это полезно для отслеживания это число для целей оптимизации производительности, но не если вы просто пытаетесь увидеть свой текущий объем памяти или искать утечки.

статистика объяснение от apple docs. ссылка на документ

enter image description here

enter image description here