在didReceiveMemoryWarning中释放属性

时间:2014-07-04 16:34:06

标签: ios objective-c

我真的在努力理解didReceiveMemoryWarning中要做什么。从我在StackOverflow和博客上看到的内容,以下是我的理解 -

viewDidAppear中生成您的视图所需的所有数据,并在nil中销毁这些数据(设置为didReceiveMemoryWarning)。这听起来不错,因为可以在viewDidAppear中重新创建这些属性。

然而,问题是还为当前可见的视图调用了didReceiveMemoryWarning。在这种情况下,显然我不会为视图释放数据。不应该为当前可见的视图调用didReceiveMemoryWarning。但事实并非如此 - 如何处理这个?

1 个答案:

答案 0 :(得分:0)

didReceiveMemoryWarning的理念是,您可以重新创建的任何数据应该是deallocated,并且只要用户需要,就可以从该点创建。传统上,这不包括UI组件。

因此,除非你的屏幕上有大量的UIControl,否则编写代码以重新循环或重新创建它们可能是不值得的(特别是因为这是在UICollectionUITableView中完成的。 {1}}的)。也就是说,如果你得到一个didReceiveMemoryWarning,可能是因为你把一些东西留在你不需要的内存中。