0

我在理解ARC的所有信息時遇到了一些麻煩。這是我的計劃處置查看控制器資源

http://i.stack.imgur.com/tfRaH.png

我寫了這樣的強調,VC1更多的是「主屏幕」的......它並沒有真正有改變的變量的崩潰。你輸入一些數值並將它們傳遞到實例化的音樂播放器中。問題是,當離開VC2並進入啓動屏幕選擇不同的值時,隨着循環的繼續,內存只是越來越高。

這是應該如何工作?我注意到,當我回到啓動屏幕時,它的所有值已被重置,這告訴我它的繪圖事物是新的。爲什麼每次在這兩個屏幕之間切換時內存都在不斷增加?

+0

你是如何在兩個控制器之間? – rdelmar

+0

你是否調用'presentViewController'(或某個變體)從VC1到VC2?並調用'dismissViewController'從VC2返回到VC1? – progrmr

+0

我使用segues來獲取VC1和VC2,因爲我需要傳遞數據...還使用segue返回到VC1,我不知道還有其他移動方法。 –

回答

1

「爲什麼每次在這兩個屏幕之間切換時內存都會不斷增加?」

可能是因爲你實際上並沒有在兩個控制器之間切換 - 當你「回到」vc1時,這些值被重置的事實告訴我,當你「回去」時,你實際上實例化了一個新的vc1實例, 。使用segues時,只能使用unwind segue返回到前一個控制器。其他類型的賽格總是實例化新的控制器 。

+0

哦,哇,我還有很多東西需要學習....非常感謝。 –

+0

@marcjacbson,我有一個解釋如何在我的答案放鬆segues在這裏,http://stackoverflow.com/questions/16158586/app-running-slow-after-loading-viewcontroller-then-unload-about-15 -20次/ 16160239#16160239 – rdelmar

+0

再次感謝 –