Зависит от того, на какой столбец таблицы вы смотрите.
Значения «Общий» и «Общий байт» всегда будут увеличиваться, поскольку они представляют собой текущий подсчет выделений, выполненных без учета освобождений.
Однако цифры «Живые байты» и «# Живые» должны увеличиваться при выделении объекта или блока памяти, но должны уменьшаться при их освобождении.
Повторное открытие и закрытие вложенного представления должно (при условии кэширования изображения или данных) зависать вокруг фиксированного количества живых байтов и живых объектов / блоков памяти.
Однако инструменты иногда запутываются, как вы можете видеть на скриншоте. Весь столбец # Transitory показывает «0», что, очевидно, неверно. Временный объект - это просто тот, который был выделен и впоследствии освобожден, то есть это неживой объект.
(# Living + # Transitory == # Всего)
Всякий раз, когда инструменты дают мне этот столбец нулей, я покидаю текущий цикл и начинаю новый.
Что касается инструмента «Утечки», он будет показывать только те объекты или блоки памяти, на которые больше нет указателей. Если программа постоянно выделяет все больше и больше объектов / блоков памяти, но сохраняет на них указатели, инструмент утечки не будет их отображать.