我真的很难理解在didReceiveMemoryWarning中该做什么。根据我在StackOverflow和博客上读到的内容,我的理解如下:
在viewDidAppear中生成视图需要的所有数据,并在didReceiveMemoryWarning中销毁这些数据(设置为nil)。这对我来说听起来不错,因为这些属性可以在viewDidAppear中重新创建。
然而,问题是,对于当前可见的视图,也会调用didReceiveMemoryWarning。在这种情况下,我显然不会为视图释放数据。不应该为当前可见的视图调用didReceiveMemoryWarning吗?但情况并非如此--人们该如何处理呢?
发布于 2014-07-05 00:53:10
didReceiveMemoryWarning的思想是,您拥有的任何可以重新创建的Data都应该是deallocated的,并在用户需要时从该点开始创建。传统上,这不包括UI组件。
因此,除非你的屏幕上有大量的UIControls,否则编写代码来重新循环或重新创建它们可能是不值得的(特别是因为这是在UICollection和UITableView中为你完成的)。也就是说,如果你得到一个didReceiveMemoryWarning,可能是因为你在内存中保留了一些你不需要的东西。
https://stackoverflow.com/questions/24578252
复制相似问题