2010-09-17 158 views
0

添加和刪除UIViewControllers 我不張貼現在任何例子,我有一個從廈門國際銀行加載他們認爲一些視圖控制器和其他人,我手動創建的視圖時,我注意到一個奇怪的行爲。(我是不是要申報奧特萊斯在IB創建的每個元素?即使是那些靜態圖形?或者根本deallotion作爲配置自動發生?) 什麼,我似乎才注意到的是,即使我去掉視圖控制器視圖,然後釋放控制器,分配(活字節)樂器似乎沒有去down.Dealloc被每time.The下一次我創建視圖控制器稱爲活字節留在same.As如果他們在那裏以前沒有被釋放,但仍cached.The的是我有幾個人處理激烈的觀點?在圖形處理,但並不是所有的人在同一time..and字節添加up.It去左右的內存爲15兆字節(而應用程序啓動TA 3和大部分的時間就是所有,它需要)。我也查一些蘋果的例子,我注意到有時候會有相同的行爲。這是我失蹤的東西嗎? 也許它是我特別做錯的事情,所以我應該發佈一些代碼來檢查可能是錯的? 謝謝UIViewController內存管理/問題?

回答

1

首先檢查你的內存泄漏代碼(使用泄漏工具)並在你的項目上運行「構建和分析」 - 可能是靜態分析器可以發現一些問題。

第二件要檢查的事情是,如果你在dealloc方法中釋放控制器的插座:當從xib文件加載時,如果沒有爲它們定義屬性,或者存在具有'retain'屬性的屬性,則默認保留插座。所以,如果你不釋放他們,他們必須泄漏話,我認爲(儘管儀器沒有顯示時,我也有類似的問題,這種情況下,任何泄漏)檢測

+0

無泄漏,忘了提that..and也分析沒有說任何東西,除了一些未使用的vars..my主要問題仍然是有趣的,如果它可以某種緩存?因爲再分配似乎沒有佔用任何其他RAM – tasos 2010-09-17 16:33:28

+0

剛剛發現這個一個帖子 當加載一個包含筆尖文件引用圖像和聲音資源時,nib加載代碼會盡可能緩存資源,以便以後輕鬆檢索。 (根據您的平臺)無論是NSImage中或UIImage的方法:例如,加載nib文件後,就可以檢索與使用imageNamed是筆尖文件關聯的圖像。 所以我想這可能是因爲我的xibs主要包含圖像或帶有自定義圖像的按鈕等! – tasos 2010-09-17 16:42:34