【发布时间】:2011-06-13 23:03:53
【问题描述】:
我的 ipad 应用程序收到 1 级内存警告,因此我在 Xcode 4 中运行了内存泄漏分析器。果然,当我移动一个特定的滑块时,它会导致泄漏。再次移动它,另一个泄漏和泄漏的字节升级。
我想知道 Xcode 4 是否提供了一种简单的方法来具体找出哪个对象正在泄漏。我已经从滑块运动中查看了该方法;每次我使用 alloc/init 时,我都会释放它。最好知道 Xcode 在哪里找到泄漏,因为我自己找不到。
Xcode 4 文档引用了相当多的工具。但是我想知道这个文档是否没有从 Xcode 3 更新,因为这些工具不在文档提到的菜单中。
滑块动作是:
-(IBAction) sensitivity:(UISlider *)slider{
self.grid.sensitivity=slider.value;
[self.grid setNeedsDisplay];
}
这本身并不意味着内存泄漏。然而,“setNeedsDisplay”方法,这个方法很长,第一次运行时不会产生泄漏,那为什么第二次运行时会产生泄漏呢?该代码中的所有 inits/alloc 都被释放(只有 3 个对象被创建和释放)。
【问题讨论】:
-
在这种情况下,我会说它相当明显的是它在您的滑块中或您的滑块控制的内容,如果您链接该代码,我们可以帮助您了解具体情况,就 Instruments 而言。 .查看其他答案。
-
我将代码添加到问题中。
标签: xcode