Мое приложение имеет несколько UIViewController в стеке (под UINavigationController).В некоторых случаях я получаю предупреждения памяти, когда я нахожусь во внутренних UIViewControllers (в основном это происходит, если устройство перегружено другими приложениями, работающими в фоновом режиме).Когда появляются эти предупреждения памяти, приложение продолжает работать (большую часть времени), а затем, когда оно возвращается к rootViewController
, оно перезагружает его, но не заполняет объекты представления (главным образом изображения UIButton).
Я хочу реализовать didReceiveMemoryWarning
и applicationDidReceiveMemoryWarning
, но я не совсем понимаю, как это сделать.
Конечный результат, который я ищу, заключается в том, что, когда приложение выполняет эту "перезагрузку"после предупреждения о памяти он «перезагрузится» rootViewController
в том же состоянии, в котором он находился до того, как пользователь начал «погружаться» во внутренние UIViewControllers.
- Как мне выполнить реализацию?
- Должен ли я реализовывать
didReceiveMemoryWarning
по умолчанию в каждом UIViewController? - Поскольку предупреждение о памяти всегда возникает во внутренних UIViewController, как я должен сообщить
rootViewController
, что он должен работать didReceiveMemoryWarning
? - Как мне сообщить
rootViewController
, какие настройки он должен делать?Другими словами - могу ли я сохранить настройки где-нибудь, где didReceiveMemoryWarning
не удаляет их и после активации didReceiveMemoryWarning
«вызывает» их, чтобы пользователь мог видеть тот же экран, с которого они начали «навигацию по уровням»?