这个问题从未发生在我身上。我在 UINavigationController 中有一个 UIViewController。当收到内存警告(无论级别如何)时,会调用可见控制器的 viewDidUnload 方法,因此视图被卸载,我得到了一个带有导航栏的惊人黑屏。
我正在使用 iOS 4.3.3 上的 iPad 1 进行测试。
有什么建议吗?
我正在使用 iOS 4.3.3 上的 iPad 1 进行测试。
有什么建议吗?
viewDidUnload
方法是由UIViewController
(超类)中的didRecieveMemoryWarning
函数调用的。基本上,iOS会给你一些警告,并期望看到你的内存使用量下降。如果你继续忽略这些警告,操作系统将会杀死你的应用程序。didRecieveMemoryWarning
方法,在其中不做任何事情。self
是否是self.navigationController.visibleViewController
中的当前视图,如果是,则不将内存警告调用传递给[super didRecieveMemoryWarning]
。viewDidUnload
方法来处理内存警告。它只会调用didReceiveMemoryWarning
方法,就这样而已。仅适用于iOS6。 - dinethviewDidUnload
以便通过释放视图来管理内存。UIViewCotroller
是navigationcontroller
的根viewcontroller
,因此只有导航栏被卸载,而视图则被卸载。在控制器中,当iOS确定视图不再需要时,您会在低内存情况下收到viewDidUnload。请记住,苹果在后续版本的iOS上对实现进行了一些改进,因此最好看看在5.x下会发生什么。其次,您应该检查您的视图控制器层次结构。