2011-08-26 63 views
1

作爲測試我推一次又一次彈出相同的觀點......我要到下一個屏幕,點擊背一遍又一遍,我還可以不斷看到現場字節在應用我出來和2個屏幕上顯示錶視圖,現場字節增加和同樣數額(execpt第一次)的減少之間的背部增加...push和pop增加現場字節

雖然別的地方。

所以我需要做什麼檢查,瞭解是怎麼回事... 20分鐘出場,一般應用程序崩潰後 - 請注意,在任何時候有沒有內存泄漏。

在我push和pop這些第一的觀點,第二個屏幕有一個圖片,一個文本框。我需要如此特別的東西嗎? 我還注意到,我沒有默認功能viewWillDisappear和viewDidDisappear ...我需要這些嗎?他們是強制性的?加入他們並沒有改變什麼......所以,我需要把東西尤其是在他們......

任何的幫助深表感謝

乾杯, geebee

回答

0

你可以找到在使用儀器的Heapshot分析一段什麼變化。

1)簡介使用分配模板

2)運行應用程序(導航周圍)

3)點擊「馬克堆」按鈕

4)運行應用程序(導航周圍)

5)點擊「馬克堆」按鈕

再看看Heapshot分析的結果。

當你的看法被卸載,你應該零時,您IBOutlet S,釋放你可以很容易地重建和免費有什麼可被視爲一個大的分配。

+1

感謝賈斯汀。我發現我沒有發佈視圖控制器,因爲我使用類名稱而不是實例名稱釋放......沒有崩潰,但這是不斷增長的因素。謝謝 – geebee

0

將斷點在-dealloc方法你正在推動並彈出的控制器,看看它是否有火災。如果不是,你會在某處保留對它的引用。這可能會有多種原因。這裏有幾種可能性:

  1. 前面的視圖控制器可能會保留對後繼的引用。這是不必要的,應該避免(UINavigationController將視圖控制器保留在其堆棧中)。

  2. 你可能被保留,以保留您的視圖控制器對象的引用都推出了代碼中的保留週期。如果你使用塊,並且你不關注下面的內存管理規則,這很容易發生。

如果你正在做的事情正確,你的視圖控制器應該從導航控制器中彈出後釋放。

+0

感謝卡梅隆。我發現我沒有發佈視圖控制器,因爲我使用類名稱而不是實例名稱釋放......沒有崩潰,但這是不斷增長的因素。感謝 – geebee