我已經創建了一個應用程序有12個視圖控制器和它得到了很多圖形的iOS應用程序的內存使用(圖像文件)面積
當我啓動的應用程序,我注意到內存上漲,因爲我通過移動視圖控制器。一旦我已經完成了所有的控制器移動內存530MB
所以我的問題是: -
一),這是一個很大的內存來使用 二)我應該擔心 c)我如何從內存中刪除視圖控制器,當我導航回合..例如我有一個視圖控制器上博但是一旦有人點擊跳過或開始,我會繼續看下一個視圖控制器,因此理論上它不需要再加載。
想法?
我運行在iPhone 7 Plus上,它具有3Gbm,但希望能夠在iPhone SE之後的其他手機型號上運行該應用程序。然而,我注意到內存配置文件是大約50%沒有iPhone本身,而是假設那是因爲它不加載X3圖像按加電話
@ sandeep-bhandaripp感謝您的信息...幾個進一步的問題..一位新手,但你是什麼意思適當的導航技術?我創建了一個單一視圖應用程序,並在它們之間添加了各種VC和seque,這是錯誤的嗎? 也讀了關於ARC,我假設VC會放手,但我使用SWIFT 3,所以你如何決定VC? – user2596590
@ user2596590:如果您使用push/show segue,則View Controller會被推入導航堆棧。直到用戶通過點擊返回按鈕或殺死應用程序來彈出ViewController時,推送到導航堆棧的視圖控制器纔會被釋放。所以你應該使用push,如果你真的想要VC堅持,並允許用戶回到屏幕上回來。如果你推入loginVC,那麼loginVC也會被保留,但登錄是一次性使用,你不希望用戶通過點擊回到這個屏幕,使用push將使得LoginVC保存在內存中 –
因此,你所有的VC不希望它堅持你使用模態segue並解僱它以擺脫它,一旦使用這將不會使VC保存在內存中。類似地,每當用戶點擊推送的VC上的後退按鈕並從導航堆棧彈出VC時,VC的deist/dealloc被調用。確保它被調用。如果它沒有被調用,那意味着你的VC被某些不允許它釋放的東西所控制。因此記憶不會下降。 –