Когда приложение входит в фоновое рабочее состояние, сколько грязных применений памяти хорошо идти. В яблочном видео упоминается, что грязная память должна быть уменьшена как можно больше.iOS4 - быстрое переключение контекста
Но в моем приложении я использую контроллер навигации для просмотра и просмотра. После перехода от примерно 20 разных страниц, использование грязной памяти достигает 30 МБ или около того.
Также на «rejectModalViewControllerAnimated» и «popViewControllerAnimated» dealloc не вызывается.
Я два сомнения:
- С сколько грязной памяти приемлемо идти жить?
- Какова альтернатива навигационного контроллера для поддержки кнопки возврата?
Заранее спасибо.
1. Не 30 МБ. Старые устройства iOS имеют только 128 МБ памяти, поэтому ваше приложение будет заполнять это примерно на 23% ... 2. Если вы действительно просачиваетесь на 30 МБ, вы, вероятно, ничего не выпускаете, где-то это не 'UINavigationController' ' сбой. –
Hi Douwe, Спасибо, что ответили. Почему я сомневаюсь в UINavigationController, потому что я продолжаю толкать в нем контроллеры представлений.И когда я выхожу из контллеров представления из контроллера навигации, метод dealloc не вызывается, где я освобождаю переменные экземпляра. И память не очищается, используемая всеми этими переменными экземпляра. Я делаю что-то неправильно? Должен ли я очищать переменные экземпляра где-то еще, а не в dealloc? – Sunil
Есть ли у вас какие-либо другие ссылки на контроллеры вашего вида, в другом месте вашего приложения? Если вы выскочите их, но все еще имеете ссылку в другом месте контроллера, он не получит GCed – blueberryfields