2011-12-03 84 views
0

平庸的愚蠢問題:所以在我的iPhone UI中,我有一個開始/停止按鈕,它以編程方式實例化UIView。如果按鈕處於停止狀態,我將initWithFrame分配給一個在頭文件中聲明的UIView,並將其添加到我的超級視圖中,然後釋放它。所以現在保留數量應該只有一個,它被保存在我的超級視圖中。如果我按停止按鈕,通過調用removeFromSuperView方法從我的supperview中移除視圖,並將我的UIView對象設置爲nil。UIView內存管理

所以這裏是我想知道的問題:讓我們說一個用戶按下開始按鈕,實例化視圖,然後退出我的程序。她運行了一堆其他程序,設備意識到它需要更多的內存,殺死我的應用程序並在我的程序上運行dealloc。那個UIView會變成內存泄漏嗎?或者,超級觀點足夠聰明地檢查並看看孩子是否還活着,並據此做一些事情。

基本上,我已經提出只在dealloc方法中做了一堆[objectName release]。我應該做一個條件語句,比如檢查UIView是否爲零,如果是的話,從超級視圖中刪除它?

感謝

回答

1

一個上海華保留添加到它的所有意見,並會呼籲所有這些子視圖釋放當dealloc'd。

當操作系統殺死您的應用程序時,無論您的應用程序是否泄露內存,它都將回收與其關聯的所有內存。