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

时间:2014-12-31 12:57:35

标签: ios objective-c

我的应用程序由于内存压力而崩溃,但是当我不需要它时我已经删除了所有UIViews。但应用程序仍然崩溃了很多。我是内存管理的新手,我非常感谢一些帮助。 P.S-我的应用程序大小为220mb

4 个答案:

答案 0 :(得分:1)

您必须确定消耗内存的内容。它可能是一个强大的参考周期" (又名"保留周期"),但根据提供的有限信息无法说出来。

请参阅WWDC 2012视频iOS App Performance: Memory中的仪器演示,以了解如何使用仪器识别内存问题。

答案 1 :(得分:0)

您可能正在加载一般大小且占用大量内存的资产或文件。向我们提供有关该应用的更多信息。

答案 2 :(得分:0)

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

[[NSURLCache sharedURLCache] removeAllCachedResponses];

也许你也有一些内存泄漏和/或缓存像文件或视频这样的大文件。 如果您正在使用例如您可以将SDImageCache释放出来,如下所示:

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

很难说它可能是什么。要获得更多信息,您应该使用Instrument中的“泄漏”工具来查看发生的情况

答案 3 :(得分:0)

你必须找出需要这么多记忆的东西。检查应用程序的好方法是使用Instruments。它是每个Xcode安装的一部分。

这是一个非常好的介绍: http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode

您正在寻找分配和泄漏视图。

祝你好运。