From what I understand, the viewDidUnload method viewDidUnload called by the didRecieveMemoryWarning function in the UIViewController (superclass). Basically, iOS gives you a couple of warnings and expects your memory usage to decrease. If you continue to ignore them, the OS will kill your application.
Sometimes, however, it is very important that some views are displayed and executed, so I can get around this just to override the didRecieveMemoryWarning method and do nothing inside it.
Or better yet, check if self current view in self.navigationController.visibleViewController , and if so, do not pass the warning memory call before [super didRecieveMemoryWarning] .
If you hold image caches or something else, just leave them.
NTN
source share