2011-05-27 55 views
1

我對xcode相當陌生。剛完成我的第一個iPhone應用程序。我用泄漏視圖&發現沒有問題。現在我想通過觀察分配的字節數來進行一個額外的檢查級別,但在各種操作之後不會解除分配。Instruments 4中的淨字節

我看到類似下面的答案,指的是Instruments Allocations視圖中的'net bytes'列是正確的度量值。

Checking memory allocation in Instruments

不幸的是在儀器/的Xcode 4我沒有此列&它似乎並不時可用列標題,右擊。

有人可以告訴我如何看到'淨字節'列或同等學歷?

謝謝。

回答

2

'淨字節'的等價物是'活字節'。這會向您顯示您的應用正在使用多少內存。對於其他列:

  • #living:顯示你有多少個對象,現在
  • #transitory分配:向您顯示分配多少對象,然後 釋放
  • #overall :是'#living'和'#transitory'的總和
  • 總體字節數:將使用的內存之和,如果全部爲 '#overall'對象仍在 分配。

不僅要減少'活動字節',還要'總體字節',這一點很重要,因爲分配太多會最終減慢應用程序的速度。

還有一個提示:如果您想檢查某個特定操作是否泄漏內存,請使用左側的「標記堆棧」按鈕。它會將顯示的內存使用量縮小到您單擊按鈕後內存中更改的內存使用量。因此,要檢查是否有泄漏執行以下操作:

  • 答:啓動應用程序,並帶來一個狀態X
  • B:按「馬克heapshot」
  • C:Performe您懷疑內存泄漏
  • 行動
  • d:把你的應用狀態下,再次X和去到B

做了幾次,只是升溫緩存,以確保不斷增長的堆內存泄漏引起的,而不是。

此外,看看last years WWDC videos,尤其是'會議311 - 儀器高級內存分析'應該是你感興趣的。

+0

感謝您的詳細解釋Phlibbo,在您的幫助下,我已經能夠確認沒有內存泄漏。現在提交:) – Jonathan 2011-05-27 17:28:57

+0

祝你好運:) – Phlibbo 2011-05-27 20:04:56

+0

完全隨機,但我的意思是upvote這個答案,並以某種方式點擊downvote按鈕:(我現在不能改變我的投票,mods可以做任何事情嗎? – kevlar 2013-02-15 00:49:52