2013-12-20 4 views
1

В то время как я улучшал свое приложение в Инструментах, я видел нерегулярное производство памяти или лучшую память, которая не удаляется.Dirty Memory Solution Xcode & Instruments

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

Пример: Я начинаю в Меню и перехожу в AnimationView -> использование памяти увеличивается. Я возвращаюсь, но уровень памяти остается прежним. Когда я снова нажимаю на AnimationView -> уровень памяти увеличивается.

Как я могу избавиться от этого. Я имею в виду, обычно память должна быть удалена, когда я ушел из AnimationView

Screenshot Instruments

С наилучшими пожеланиями из Германии Крис

ответ

1
использование

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

Я бы предположил, что вы используете раскадровки и просто вызываете новый сеанс каждый раз, когда хотите отобразить новый экран, но никогда не появляетесь в диспетчерах просмотра/увольнении модалов/выполнении размотки.

Когда вы вызываете segue, iOS создает новый экземпляр контроллера целевого представления. Таким образом, вы можете получить все большее количество контроллеров представлений в памяти, когда то, что вы хотели сделать, это убрать контроллер представления и вернуться к предыдущему контроллеру представления.

+0

Итак, я могу использовать разматывающие сегменты, чтобы уменьшить это производство памяти? –

+0

Да. Вам нужно знать, когда вы хотите отобразить новый контроллер представлений поверх существующих, и когда вы хотите отменить новый контроллер (ы) просмотра и вернуться к предыдущему слою стека контроллера просмотра. Как вы организуете и представляете свои контроллеры? Контроллер навигации? Или вы просто представляете серию модальных сегов? –

+0

Нет Я использую navigationController;) –

Смежные вопросы