2011-11-29 63 views
0

我正在使用儀器來研究消耗更多內存的儀器。我總是得到Living字節和總體字節相同。我相信在我的代碼中沒有太多的釋放。這是一個不好的跡象。瞭解儀器儀表的相關負責人Alloc的結果

當我找到負責任的調用者並追查它是什麼時,我找不到它。負責的調用者是_dydldstart和NSStringFromClass。

這種行爲是否正常?如何檢查確切的負責人?

回答

0

「我總是得到生活字節和總體字節相同」。

我有這個問題,只是因爲我在設備上測試我的應用程序時,設置了NSZombieEnabled作爲環境變量。禁用該變量後,問題消失了。

NSZombieEnabled我認爲不會讓任何變量被釋放。

我不知道是否刪除NSZombieEnabled解決了問題。

我實際上以兩種不同的方式使用Allocations。只有在與泄漏工具一起使用時,我遇到了問題。

我的另一個問題是這個問題的答案:

Ambiguities in using Instruments for iOS Development

0

「生命字節」和「總體字節」列相同的原因很可能是工具僅跟蹤活動分配。如果您希望樂器跟蹤所有內容,請單擊樂器列表中「分配」樂器旁邊的「信息」按鈕,並取消選中「僅跟蹤活動分配」複選框。

打開擴展詳細視圖顯示內存分配調用堆棧,這將更容易找到確切的負責調用者。選擇視圖>擴展詳細信息以打開擴展詳細視圖。

調用樹視圖還可以幫助您確定在代碼中分配內存的位置。使用跳轉欄切換到呼叫樹視圖。