我試圖符合蘋果關於在我的應用程序中響應低內存警告的指導原則。準則說:「接收到(低內存警告)後,您的應用程序必須釋放盡可能多的內存,釋放不需要的對象或清除內存緩存,以便稍後重新創建。」iOS 5 + ARC - 是否將指針分配給指針釋放內存?
問題是,如何使用ARC釋放內存?
例如,假設我在不在屏幕上的視圖的視圖層次結構中有圖像。在didReceiveMemoryWarning中,我目前通過調用removeFromSuperview將其從視圖中移除,但我仍然有一個指向UIImage本身的指針。我是否也應該嘗試釋放這些內存?怎麼樣?通過將nil分配給指針?
TIA:約翰
請在指針附近提供更多信息。它是一個伊娃,在一個方法,全球,財產本地? – zaph
那麼我正在考慮的是UIImage *實例變量。 – John
好吧,我認爲我解決了我的問題1)使用弱引用的子視圖和2)分配nil指針如果視圖仍然在執行didReceiveMemeoryWarning時(這是我每次在調試器中看到它時) 。主要是,我想我只是意識到,你無法避免一直記憶警告......有時它們是由其他應用程序引起的。你只需要妥善處理它們。修好我的記憶警告處理程序後,我只收到警告一次,而不是每次啓動UIImagePickerController。一個很大的改進。 – John