Все зависит от вашего приложения, обычно вам не нужно делать ничего особенного, кроме как следуя рекомендациям Apple.
ViewControllers, которые не видны в данный момент, получат сообщение didReceiveMemoryWarning
.По умолчанию (вызывая [super didReceiveMemoryWarning]
) представление контроллера выгружается (освобождается, освобождается).Поскольку представление выгружается, контроллер представления получает viewDidUnload
, где вы должны освободить все свои IBOutlets (или иным образом сохраненные элементы пользовательского интерфейса).Только тогда представление может быть полностью освобождено и освобождена память.
В didReceiveMemoryWarning
вы также должны освободить столько данных, сколько сможете - если вы храните некоторую часть модели данных в ViewController, освободите ее и восстановитев viewDidLoad
, который будет вызываться при повторной загрузке вашего представления (когда пользователь возвращается к этому контроллеру).Вы также можете сообщить своим классам модели, чтобы освободить память.