Когда мое приложение для iPhone получает предупреждение о памяти, представления UIViewControllers, которые в данный момент не видны, выгружаются. В одном конкретном контроллере разгрузка вида и розетки довольно фатальная.
Я ищу способ предотвратить загрузку этого представления. Я нахожу это поведение довольно глупым - у меня есть механизм кеширования, поэтому, когда появляется предупреждение о памяти - я выгружаю себе тонны данных и освобождаю достаточно памяти, но мне определенно нужно, чтобы это представление не трогали.
Я вижу, что в UIViewController есть метод unloadViewIfReloadable
, который вызывается при появлении предупреждения о памяти. Кто-нибудь знает, как сказать Cocoa Touch, что мой взгляд не перезагружается?
Есть еще какие-нибудь предложения, как предотвратить выгрузку моего вида из памяти?
Заранее спасибо
В документации Apple о жизненном цикле представления контроллера представления указано:
didReceiveMemoryWarning - значение по умолчанию
реализация выпускает только представление
если он определит, что это безопасно
так
Теперь ... я переопределяю didReceiveMemoryWarning
пустой функцией, которая просто вызывает NSLog, чтобы сообщить мне, что получено предупреждение. Однако - вид все равно выгружается. Кроме того, по каким критериям точно решено, безопасно ли разгрузить вид ... о! так много вопросов!