0
我試圖修復我的應用程序中的內存泄漏,並偶然發現了一件非常有趣的事情。現在我不確定是否有某個地方出現了問題,或者僅僅是濫用了這項技術,所以我會盡力在您的幫助下清理問題。這裏是發生了什麼:UIViewController不釋放其視圖
- 我創建加載從筆尖文件
- 我釋放控制器
- 控制器的dealloc方法被調用其中i釋放,我已經專門添加到自定義視圖視圖自定義的UIViewController視圖層次作爲出口(我做了一個可保留的屬性)。它有一個調用nslog的dealloc方法。
- 在筆尖文件(連接到控制器的視圖出口)的主視圖也是一個UIView其中也有一個呼叫在其的dealloc
的問題是NSLog的的一個子類 - 即使UIViewController的dealloc的是被叫,既沒有主視圖也沒有孩子(有插座的人)被釋放(他們的NSLog不會被觸發)。
這是否正常?也許iOS不會立即發佈視圖?或者我應該開始尋找代碼中的錯誤?如果是這樣 - 最可能的原因是什麼?
感謝您閱讀
您使用ARC嗎? – 2012-01-10 22:35:52
您是否將您的主視圖附加到了您的視圖控制器的保留屬性中,而您並未發佈?也許? – mattjgalloway 2012-01-10 22:35:53
我認爲你需要發佈一些代碼,因爲很難完全理解你所做的事情。但它聽起來像是在泄漏物體。 – drekka 2012-01-11 00:04:25