当iPhone从睡眠状态重新开始时,取消分配,应用程序仍处于打开状态

有一些情况下,我的应用程序崩溃时,从睡眠转过来,应用程序仍然是打开的。 如果一个UITableViews在iPhone进入睡眠状态时打开, 该表正在被parsing的XML填充。 我明白为什么它崩溃了; 在我的viewDidUnload方法我释放填充表的数组。 如何处理这个我不确定; 是的,我可以简单地不释放它在viewDidUnload,但如果你返回到主菜单,它永远不会离开内存。

任何帮助,将不胜感激!

viewDidUnload方法不是发布数据的正确地方。 我引用了苹果公司的文档,这些文档比我的要好:

这个方法被称为viewDidLoad方法的一个对象。 在视图控制器需要释放其视图以及与该视图关联的任何对象以释放内存时,在低内存条件下调用它。 由于视图控制器经常存储对视图和其他视图相关对象的引用,因此应该使用此方法放弃这些对象的所有权,以便可以回收它们的内存。 您应该只为稍后可以轻松重新创build的对象执行此操作,无论是在viewDidLoad方法还是应用程序的其他部分。 您不应该使用此方法来释放用户数据或任何其他无法轻易重新创build的信息。

ViewDidUnload仅用于释放视图相关的对象。 视图控制器可以释放它的视图,因为它没有显示,仍然存在你的控制器的实例,你的模型也是如此。