我真的在努力理解didReceiveMemoryWarning
中要做什么。从我在StackOverflow和博客上看到的内容,以下是我的理解 -
在viewDidAppear
中生成您的视图所需的所有数据,并在nil
中销毁这些数据(设置为didReceiveMemoryWarning
)。这听起来不错,因为可以在viewDidAppear
中重新创建这些属性。
然而,问题是还为当前可见的视图调用了didReceiveMemoryWarning
。在这种情况下,显然我不会为视图释放数据。不应该为当前可见的视图调用didReceiveMemoryWarning
。但事实并非如此 - 如何处理这个?
答案 0 :(得分:0)
didReceiveMemoryWarning
的理念是,您可以重新创建的任何数据应该是deallocated
,并且只要用户需要,就可以从该点创建。传统上,这不包括UI组件。
因此,除非你的屏幕上有大量的UIControl,否则编写代码以重新循环或重新创建它们可能是不值得的(特别是因为这是在UICollection
和UITableView
中完成的。 {1}}的)。也就是说,如果你得到一个didReceiveMemoryWarning
,可能是因为你把一些东西留在你不需要的内存中。