所以,我的應用程序是一組堆棧視圖,其中RootViewController作爲堆棧中的第二個視圖。最底部的視圖是一個菜單頁面,它將rootview控制器或信息視圖加載到堆棧,並從rootview控制器加載多個視圖。iPhone - 只有在卸載viewcontroller後,應用程序崩潰纔會出現內存不足警告?
當我收到低內存警告時,我的應用程序沒有問題,除非我嘗試從rootviewcontroller或info頁面彈出到菜單頁面。如果我想從rootviewcontroller中的其他任何地方去到另一個視圖,那麼直到我試圖通過將它從堆棧中彈出來卸載rootviewcontroller時,它纔是正常的。沒有內存警告,rootview會彈出菜單很好。但是,如果我模擬低內存警告並嘗試彈出視圖,則會崩潰。再一次,只有在低內存警告和彈出控制器才能進入菜單頁時發生崩潰。我不知道發生了什麼,我無法找到任何內存泄漏,沒有任何過度釋放。
這是我的第一個應用程序,所以也許我失去了一些明顯的東西。
「無論如何,該頁面上沒有任何內容可以發佈,所以它不應該成爲問題。」那麼,它也不應該是一個修復。碰撞最可能的來源仍然是釋放兩次。你有任何使用gdb的線索(回溯,異常等...)? – jv42 2010-09-27 12:54:15
菜單頁面只有一個按鈕可用於查看控制器。在更深的層次上,有一個圖像密集的視圖,有時會減慢並鎖定,我假設當時調用的內存錯誤很少,所有其他接收到內存警告的視圖都會卸載它們的視圖。因此,當我試圖回到不再存在的更高版本時,應用程序會崩潰。我拿出了收到的內存消息,以便它不再用低內存來釋放視圖。 – ElChico 2010-10-18 17:30:05
+1這也幫助我解決了我的問題。我覺得這樣做並不完全正確,感覺就像是一個真正的問題上的創可貼,稍後將不得不研究它...... – Stunner 2011-12-13 04:41:03