我有一個內置5個視圖控制器的基於導航控制器的應用程序。當我推視圖控制器時,我分配了一些內存,當我回到popViewController時,正確調用了我的delloc()方法。我確定dealloc以正確的方式被調用,用於我推送和彈出的每個視圖控制器。不過,當我使用Instruments運行應用程序時(從性能工具 - >對象分配,泄漏開始),對我來說有一種奇怪的行爲。 當一個視圖控制器彈出內存使用不會減少,確切地說,它不會像預期的那樣減少: 當我啓動應用程序時,它使用950 KB,然後我推動第一個視圖控制器,內存使用量增加到1 ,56MB,最後我彈出視圖控制器,內存使用現在是1,55MB。當彈出一個控制器時,UINavigationController內存不會減少
這種行爲是否正確?我確信每當我彈出一個視圖時,每個dealloc方法都會被正確調用,並且Leaks儀器不會顯示任何內存泄漏。 我猜操作系統是「保留」在某種程度上的觀點,以便第二次我推動相同的視圖控制器的加載過程是更快...
有人可以確認這種行爲是正確的嗎? 感謝
See this Screenshot from Instruments
Ps。儀器是否設置爲每X秒檢查一次泄漏或手動檢查? – RickiG 2010-06-04 10:23:46
它設置爲每10秒自動檢查一次。會改變什麼嗎? – ggould75 2010-06-04 11:03:13