2010-02-17 55 views
0

我正在嘗試使用XCode的Leaks工具來修復我的代碼中的一些內存泄漏。有沒有一種更好,更容易理解的方法來檢查泄漏,並說明準確的線路和/或提供建議?解決iPhone上內存泄漏的最佳方法是什麼?

另一個問題,我在我的視圖控制器中的代碼中使用AVAudioRecorder。我應該在viewDidLoad中還是在viewWillAppear中加載記錄器?

回答

2

如果您使用雪豹,您是否嘗試過使用靜態分析器?

+0

我該怎麼做? (它是否在XCode - >使用性能工具運行?) – 2010-02-17 01:46:57

+0

Anthony:構建 - >構建和分析或Cmd-Shift-A。 – 2010-02-17 01:52:54

+0

無法強調這個工具有多棒。我非常依賴它,如果我運行它並發現沒有錯誤,我會創建一個只是爲了讓它安心的報告。 – 2010-02-17 02:58:16

1

如前所述,使用靜態分析器作爲第一道防線。

它不會找到所有的東西。

但是,這是與你要求泄漏的問題。想想泄漏是什麼 - 泄漏是當你有記憶時,應該已經釋放,但事實並非如此。

所以這意味着您將丟失一行代碼,該代碼可能已放置在任何位置 - 在正確的時間執行實際發佈。但是該工具怎麼可能知道什麼時候應該發佈?

所以相反,該工具會做下一件好事。它會告訴你泄漏的內存在哪裏分配,然後從那裏找出物體在哪裏移動以及何時應該釋放。

靜態分析器將查找您創建對象時應從幾行代碼中釋放的情況。除此之外,當你需要在其他地方發佈某些東西時,你只需要使用Leaks來獲得一個起點。