Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
Ios 由于内存压力,我的应用程序不断崩溃_Ios_Objective C - Fatal编程技术网

Ios 由于内存压力,我的应用程序不断崩溃

Ios 由于内存压力,我的应用程序不断崩溃,ios,objective-c,Ios,Objective C,由于内存压力,我的应用程序正在崩溃,但我已经删除了所有不需要的UIView。但该应用程序仍在大量崩溃。我是内存管理方面的新手,非常感谢您的帮助。 注意-我的应用程序大小为220mb您可能正在加载的资产或文件通常都很大,占用大量内存。请提供有关该应用程序的更多信息。您必须确定消耗内存的内容。这可能是一个“强参考周期”(又名“保留周期”),但根据提供的有限信息,不可能做出判断 有关如何使用仪器识别内存问题的演示,请参见WWDC 2012视频中的仪器演示 仅删除视图不会释放所有内存。 您还需要清理缓存

由于内存压力,我的应用程序正在崩溃,但我已经删除了所有不需要的UIView。但该应用程序仍在大量崩溃。我是内存管理方面的新手,非常感谢您的帮助。
注意-我的应用程序大小为220mb

您可能正在加载的资产或文件通常都很大,占用大量内存。请提供有关该应用程序的更多信息。

您必须确定消耗内存的内容。这可能是一个“强参考周期”(又名“保留周期”),但根据提供的有限信息,不可能做出判断


有关如何使用仪器识别内存问题的演示,请参见WWDC 2012视频中的仪器演示

仅删除视图不会释放所有内存。 您还需要清理缓存。 尝试调用此命令并使用仪器检查结果:

[[NSURLCache sharedURLCache] removeAllCachedResponses];
也许你也有一些内存泄漏和/或缓存像图像或视频这样的大文件。 如果您正在使用SDImageCache,可以按如下方式释放它:

SDImageCache *imageCache = [SDImageCache sharedImageCache];
[imageCache clearMemory];
[imageCache clearDisk];

很难说会是什么。要获得更多信息,您应该使用仪器中的“泄漏”工具来查看发生了什么

您必须找出占用如此多内存的原因。检查应用程序的一个好方法是使用仪器。它是每个Xcode安装的一部分

这里有一个很好的介绍:

您正在查找分配和泄漏视图


祝你好运。

是的,你是对的,伊万我的应用程序有这么多图像,这就是为什么它的大小接近220 mb,但我无法删除它们。您能告诉我如何在ViewDidDemove或任何其他内置方法中卸载/删除它们吗?您是否将图像缓存在某个集合中?也许如果你给我们看一些处理图像加载的代码,我们可以给你一个提示:)把你所有的图像都拿出来。将它们更改为png(如果尚未更改),转到并上载您的图像,以便在那里下载新图像。将新图像替换为旧图像和tada。您的游戏应缩小50-70%左右