У меня есть приложение на основе контроллера навигации с 5 контроллерами представления внутри. Когда я нажимаю контроллер представления, я выделяю некоторую память, и когда я возвращаюсь с popViewController, мой метод delloc () вызывается правильно. Я уверен, что dealloc вызывается правильно для каждого контроллера представления, который я нажимаю и выдвигаю.
Тем не менее, когда я запускаю приложение с Инструментами (Начните с инструментов повышения производительности -> Распределение объектов, Утечки), для меня происходит странное поведение.
Когда контроллер представления активен, использование памяти не уменьшается, а точнее не уменьшается, как ожидалось:
когда я запускаю приложение, оно использует 950 КБ, затем я нажимаю на первый контроллер представления, и использование памяти увеличивается до 1,56 МБ, наконец я выскакиваю контроллер представления, и использование памяти теперь составляет 1,55 МБ.
Правильно ли это поведение? Я уверен, что каждый метод dealloc правильно вызывается всякий раз, когда я открываю представление, и инструмент Leaks не показывает утечки памяти.
Я предполагаю, что операционная система каким-то образом «сохраняет» представление, так что во второй раз, когда я нажимаю на тот же контроллер представления, процесс загрузки происходит намного быстрее ...
Может ли кто-нибудь подтвердить, что это поведение правильно?
Спасибо
Смотрите этот скриншот из инструментов