我的iPad应用程序收到内存警告后,一些自定义UIView丢失了

时间:2010-12-29 08:00:14

标签: iphone ipad memory

我正在开发一个应用程序来浏览在线照片,有时会收到内存警告(级别1),之后,如果我回到最后一个UIViewController(在NavigationControll中),我发现一些自定义UIView丢失了,我不能让他们回来,但我可以创建新的这样的UIView

有人知道这个问题吗?

2 个答案:

答案 0 :(得分:3)

内存警告提示操作系统转储任何不需要的视图。如果在IB中创建它们,或者在视图控制器中的viewDidLoad或loadView方法中创建它们,则在重新加载视图时将重新创建它们。你也可以让你的视图控制器专门保留它们,但是这会比只需要它们时重新创建它们有更大的内存空间。

我应该说,只有在你不使用nib创建视图时才会调用loadView,因此viewDidLoad可能就是你要放置它们的地方。

答案 1 :(得分:1)

这是预期的行为。你可以覆盖didReceiveMemoryWarning(即什么都不做,不要超级调用);但你真正想要的是正确处理这些情况,即在必要时再次设置视图。