Ios 由于内存压力,我的应用程序不断崩溃
由于内存压力,我的应用程序正在崩溃,但我已经删除了所有不需要的UIView。但该应用程序仍在大量崩溃。我是内存管理方面的新手,非常感谢您的帮助。Ios 由于内存压力,我的应用程序不断崩溃,ios,objective-c,Ios,Objective C,由于内存压力,我的应用程序正在崩溃,但我已经删除了所有不需要的UIView。但该应用程序仍在大量崩溃。我是内存管理方面的新手,非常感谢您的帮助。 注意-我的应用程序大小为220mb您可能正在加载的资产或文件通常都很大,占用大量内存。请提供有关该应用程序的更多信息。您必须确定消耗内存的内容。这可能是一个“强参考周期”(又名“保留周期”),但根据提供的有限信息,不可能做出判断 有关如何使用仪器识别内存问题的演示,请参见WWDC 2012视频中的仪器演示 仅删除视图不会释放所有内存。 您还需要清理缓存
注意-我的应用程序大小为220mb
您可能正在加载的资产或文件通常都很大,占用大量内存。请提供有关该应用程序的更多信息。
您必须确定消耗内存的内容。这可能是一个“强参考周期”(又名“保留周期”),但根据提供的有限信息,不可能做出判断有关如何使用仪器识别内存问题的演示,请参见WWDC 2012视频中的仪器演示 仅删除视图不会释放所有内存。 您还需要清理缓存。 尝试调用此命令并使用仪器检查结果:
[[NSURLCache sharedURLCache] removeAllCachedResponses];
也许你也有一些内存泄漏和/或缓存像图像或视频这样的大文件。
如果您正在使用SDImageCache,可以按如下方式释放它:
SDImageCache *imageCache = [SDImageCache sharedImageCache];
[imageCache clearMemory];
[imageCache clearDisk];
很难说会是什么。要获得更多信息,您应该使用仪器中的“泄漏”工具来查看发生了什么您必须找出占用如此多内存的原因。检查应用程序的一个好方法是使用仪器。它是每个Xcode安装的一部分 这里有一个很好的介绍: 您正在查找分配和泄漏视图
祝你好运。是的,你是对的,伊万我的应用程序有这么多图像,这就是为什么它的大小接近220 mb,但我无法删除它们。您能告诉我如何在ViewDidDemove或任何其他内置方法中卸载/删除它们吗?您是否将图像缓存在某个集合中?也许如果你给我们看一些处理图像加载的代码,我们可以给你一个提示:)把你所有的图像都拿出来。将它们更改为png(如果尚未更改),转到并上载您的图像,以便在那里下载新图像。将新图像替换为旧图像和tada。您的游戏应缩小50-70%左右