我有一个 iPhone 应用程序,似乎有内存泄漏问题。这是一款益智游戏,经过几道谜题后,应用程序在设备上崩溃。
我现在正在尝试使用 xcode Instruments 来检测发生了什么。第一次使用仪器。
我注意到“泄漏”图中的泄漏条,就在加载视图的时间: xCode Instruments 检测到这些内存泄漏对象是什么? . 但是这些泄漏的对象很小,所以我猜我的应用程序还有其他问题。
当我的应用程序继续运行时,通常在 iPad 2 上运行 10 多轮,然后它就会崩溃。我对 Instruments 还不太了解,所以我看“All Heap Allocations”。在第一轮拼图开始时,“#Overall”列约为 70k,它在每轮拼图之间缓慢增长。当一个新的回合谜题出现时,它会达到〜90k,然后一轮又一次达到〜200k,然后崩溃。
在崩溃之前,在日志控制台中我看到内存警告和“连接中断”。
在搜索内存泄漏后,我跟踪了一些事情,例如将 NSArray/NSDictionary 或 mutable 设置为 nil,尽可能地(尽管不是全部,因为有些在谜题之间)。我还将 UIImage imageNamed 更改为 [UIIMage alloc] initWithContentOfFile。
我还应该查看/检查什么导致内存问题?蒂亚!
编辑:我希望我可以发布一些可能是嫌疑人的代码,但我真的不知道该发布什么部分。我应该在课程开发中通过 Instruments 进行检查,以便知道导致问题的原因。
关于其他视图控制器。我确实有其他(菜单、设置、应用商店价格等),我通过代码生成了所有这些。我的应用没有情节提要或 nib 文件。当我测试崩溃时,我只需单击 Next Puzzle 按钮,因此所有其他视图都不会显示。所以,在崩溃之前,唯一显示的视图是主视图,有几个按钮,几个子视图,一个动画图片(但只有第一个谜题作为介绍)。如果有帮助,这是我的应用程序:http: //itunes.apple.com/us/app/wordsect/id599455449 ?ls=1&mt=8