一定要注意,我們運行app時,一定要關心內存的使用,盡量不要超過20M,即使有很多圖片要顯示也絕對不能超過30M。所以運行自己開發的app時多關心內存的使用是個很好的習慣。
對於性能,內存的優化,這個涉及的就太多了。現在先講講幾個最基本常見的內存洩露下的解決方法。
instrument可以報出不少內存洩露的錯誤,方法:http://www.cocoachina.com/ios/20141203/10519.html,很容易操作。
不過它最大的功能還是可以自己看出哪裡內存用了多,從而進行優化。
ARC does not manage C-types, of which CGImage may be considered. You must release the ref manually when you are finished withCGImageRelease(image);
這是stackoverflow別人的回答,就是說在arc模式下,C-types的對象需要手動來進行釋放
arc還會有循環引用等問題,導致對象不能被釋放,有個小技巧來處理,可以寫下-(void)dealloc設置斷點,如果頁面跳轉沒有執行它,那麼證明你犯錯了,自動計數沒有為0,不會釋放的,內存會一直增加,需要去找錯。
很多圖片要加載,不要用隊列存儲image,要麼image存在沙盒裡,隊列裡存地址,要麼隊列存儲縮略圖,點擊的時候再放大。
最不可取的方法就是本來是一個清晰的大圖,可能需要縮小,就直接imageView改變尺寸,這個非常耗內存。