【发布时间】:2011-08-02 10:16:37
【问题描述】:
美好的一天,
我在检查内存泄漏方面完全没有经验,因此对此提供任何帮助都会很棒。
我刚刚完成了我的 iPhone 应用程序的大部分工作,我现在正试图弄清楚为什么它在运行几次后停止工作。在 Leaks and Allocations 模式下使用 Instruments 我可以看到有两个对象正在快速堆积内存并且没有释放:
我不是百分百确定发生这种情况的地点或原因,但是当我单击 UIDeviceRGBColor 右侧的箭头时,负责任的调用者会被声明为
[UIColor allocWithZone];
我在我的项目中搜索了 UIColor 并找到了这个(注意 _colorThreshold):
我相信我的问题与似乎没有被释放的 _colorThreshold 有关:
我尝试将自动释放添加到它们的初始化参数中,但这会使应用程序崩溃。这里有什么建议吗?
编辑 1
这是来自 LevelMeter.h 的屏幕截图
【问题讨论】:
-
不是一个直接的答案,但this video from iDeveloper.tv 有一些关于objective-c 内存管理的重要指导规则,这可能会对您未来的项目有所帮助。
标签: iphone objective-c memory memory-leaks instruments