arc下記憶體流失的解決小技巧,arc記憶體流失小技巧

來源:互聯網
上載者:User

arc下記憶體流失的解決小技巧,arc記憶體流失小技巧

一定要注意,我們運行app時,一定要關心記憶體的使用,盡量不要超過20M,即使有很多圖片要顯示也絕對不能超過30M。所以運行自己開發的app時多關心記憶體的使用是個很好的習慣。

對於效能,記憶體的最佳化,這個涉及的就太多了。現在先講講幾個最基本常見的記憶體泄露下的解決方案。

 

1. instruments

instrument可以報出不少記憶體泄露的錯誤,方法:http://www.cocoachina.com/ios/20141203/10519.html,很容易操作。

不過它最大的功能還是可以自己看出哪裡記憶體用了多,從而進行最佳化。

2. arc的問題

ARC does not manage C-types, of which CGImage may be considered. You must release the ref manually when you are finished with CGImageRelease(image);

這是stackoverflow別人的回答,就是說在arc模式下,C-types的對象需要手動來進行釋放

 

arc還會有循環參考等問題,導致對象不能被釋放,有個小技巧來處理,可以寫下-(void)dealloc設定斷點,如果頁面跳轉沒有執行它,那麼證明你犯錯了,自動計數沒有為0,不會釋放的,記憶體會一直增加,需要去找錯。

3. image的一些建議

很多圖片要載入,不要用佇列儲存體image,要麼image存在沙箱裡,隊列裡存地址,要麼佇列儲存體縮圖,點擊的時候再放大。

最不可取的方法就是本來是一個清晰的大圖,可能需要縮小,就直接imageView改變尺寸,這個非常耗記憶體。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.