当我在模拟器上运行我的应用程序时,我转到硬件 - >模拟内存警告它导致我的视图变为空白(我只看到白色)。有谁知道我怎么能不这样做? - 我不希望实际的内存警告使我的屏幕空白。
由于
答案 0 :(得分:0)
我遇到了同样的问题。我有一个应用程序,您可以在其中显示一个登录屏幕,该屏幕在NavController下推送主菜单。然后,主菜单中的每个选项都会推送一个新的视图控制器。如果在菜单项下出现内存警告,返回菜单会显示空白视图。
这可能更多地掩盖了症状而不是解决问题,但是通过覆盖我的主菜单的didReceiveMemoryWarning
消息与空的消息(以便不调用超级版本)停止视图消失。
我比覆盖setView
(推荐here)更喜欢这个,因为你没有得到关于“-viewDidUnload导致视图重新加载的令人讨厌的性能警告。”
答案 1 :(得分:0)
我现在遇到了同样的问题,我解决了这个问题。
在我的情况下,我在mainViewController的代码中输入了这些代码:
- (void)loadView {
[super loadView];
}
模拟内存后警告系统调用didReceiveMemoryWarning并且您可以检查后立即调用viewDidUnload,如果在代码中使用loadView,则类会调用它来重新加载替换旧视图的全新页面。 这会导致黑屏。
所以为了解决这个问题,我刚评论了上面的三行。
答案 2 :(得分:-1)
bah,主要是因为我错误地设置了导航控制器