解决iPhone上内存泄漏的最佳方法是什么?

时间:2010-02-17 01:43:02

标签: iphone sdk debugging

我正在尝试使用XCode的Leaks实用程序修复代码中的一些内存泄漏。是否有更好,更容易理解的方法来检查泄漏,并找出确切的线条和/或提供建议的解释?

另一个问题,我在我的一个视图控制器的代码中使用了AVAudioRecorder。我应该在viewDidLoad中还是在viewWillAppear中加载录音机?

2 个答案:

答案 0 :(得分:2)

如果您正在使用Snow Leopard,您是否尝试使用静态分析仪?

答案 1 :(得分:1)

如上所述,使用静态分析器作为第一道防线。

它找不到任何东西。

但是这就是你要求泄漏的问题。想想泄漏是什么 - 当你有记忆时,泄漏就应该被释放,但事实并非如此。

这意味着您正在错过一行代码,可以放在任何地方 - 在正确的时间进行实际发布。但该工具怎么可能知道什么时候应该发布的东西?

相反,该工具做了下一个最好的事情。它告诉你泄漏内存的分配位置,然后由你决定对象的行进位置和实际应该释放的位置。

静态分析器将在您创建对象时找到应该在几行代码中发布的情况。除此之外,你只需要使用泄漏来获得一个起点,以便在需要在其他地方发布时找到它。