Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-c中的记忆警告_Objective C_Memory_Warnings - Fatal编程技术网

Objective-c中的记忆警告

Objective-c中的记忆警告,objective-c,memory,warnings,Objective C,Memory,Warnings,我有一个应用程序,有很多视图,大约20个,可以从两个主菜单访问,在每个视图中都有标签、文本字段和按钮,在背景图像上。 作为数据,我有一个全局类和一些由xml文件填充的数组 如果memoryWarning触发,我应该释放不必要的内容,但如果您在一个视图中,则其他视图中的所有内容都已解除分配,对吗?我应该取消分配什么?删除全局类i将丢失基本数据,数组也是如此。 建议?(很抱歉英语不好)。您留下的视图没有必要被释放,这取决于代码。因此,您可以同时将所有内容保存在内存中,而内存是iOS上的一种稀缺资源。

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

如果memoryWarning触发,我应该释放不必要的内容,但如果您在一个视图中,则其他视图中的所有内容都已解除分配,对吗?我应该取消分配什么?删除全局类i将丢失基本数据,数组也是如此。
建议?(很抱歉英语不好)。

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


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

切换到另一个视图时,请释放上一个视图。关于你的问题没有足够的信息。如何创建视图?