我的应用程序由于内存压力而崩溃,但是当我不需要它时我已经删除了所有UIViews。但应用程序仍然崩溃了很多。我是内存管理的新手,我非常感谢一些帮助。 P.S-我的应用程序大小为220mb
答案 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
您正在寻找分配和泄漏视图。
祝你好运。