我有一个iPhone应用程序,似乎有内存泄漏问题。这是一款益智游戏,经过一些谜题后,应用程序在设备上崩溃。
我现在正在尝试使用xcode Instruments来检测正在发生的事情。第一次使用仪器。
我注意到“泄漏”图中的泄漏条,正好是加载视图的时间: What are these memory leaking objects, detected by xCode Instruments? 。但是这些泄露的物体很小,所以我想我的应用程序还有其他问题。
当我的应用程序继续运行时,通常在iPad 2上运行10多轮,然后崩溃。我还没有太多关于乐器,所以我看“All Heap Allocations”。在第一轮拼图开始时,“#Overall”栏目大约为70k,它在两轮拼图之间缓慢增长。当一个新的圆形拼图进入时,它会达到~90k,然后一轮一圈地达到~200k,然后崩溃。
在崩溃之前,在日志控制台中我看到了内存警告和“连接中断”。
我在搜索内存泄漏之后已经遵循了一些事情,例如将NSArray / NSDictionary或者可变的那些设置为nil,尽可能多(尽管不是全部,因为有些在谜题之间)。我还将UIImage imageNamed更改为[UIIMage alloc] initWithContentOfFile。
我还应该查看/检查是什么原因导致内存问题? TIA!
编辑: 我希望我可以发布一些可能是嫌疑人的代码,但我真的不知道要发布什么部分。我应该在开发过程中通过仪器进行检查,以便我知道导致问题的原因。
关于其他视图控制器。我有其他人(菜单,设置,app-store-rate等),我通过代码生成了所有这些。我的应用没有storyboard或nib文件。当我测试崩溃时,我只需单击下一个拼图按钮,所以其他所有视图都不会显示。因此,在崩溃之前,显示的唯一视图是主视图,有几个按钮,一些子视图,一个动画图片(但只有第一个谜题作为介绍)。如果它有帮助,这是我的应用程序: http://itunes.apple.com/us/app/wordsect/id599455449?ls=1&mt=8
答案 0 :(得分:0)
如果您尝试使用Instruments调试应用程序 - 启用僵尸检测模式:
在
然后当您在“仪器”控件下启动应用程序时,您将在应用程序崩溃时获取实例的名称。