Objective-c中的memoryWarning

时间:2011-04-07 06:28:05

标签: objective-c memory warnings

我有一个具有大量视图的应用程序,大约20个,可从两个主菜单访问,在每个视图中有标签,文本字段和按钮,在背景图像上。 作为数据我是一个全局类,一些数组由xml文件填充。

如果memoryWarning触发,我应该释放不必要的东西,但是如果你在一个视图中,那么另一个视图中的所有视图都已经被解除分配了吗?我应该解除什么?删除全局类i将丢失基本数据,对于数组也是如此。 建议? (抱歉英语不好)。

1 个答案:

答案 0 :(得分:1)

你留下的观点并没有被取消分配,这完全取决于代码。因此,您可以同时将所有内容保存在内存中,而内存在iOS上是一种稀疏资源。因此,如果您有很多视图,请取消分配您当前未使用的视图。

收到内存警告后,您应该删除不需要的所有内容。密切关注数组中的那些XML文件,XML文件往往很大:在解析之后作为源和作为内存中的DOM树。您可以尝试使它们全部被延迟加载和解析,如果不需要则抛弃它们,如果再次需要则重新加载(然后你必须保存它们的加载状态,坚持这可能是一个简单的布尔值数组而不是整个XML数据)。