Drawable檔案夾不正確導致的記憶體升高問題

來源:互聯網
上載者:User

標籤:其他應用   載入   原則   記憶體佔用   google   draw   裝置   nod   假設   

1.玩手機的時候點了下應用管理,發現一個問題,我自己寫的APP記憶體佔用竟然達到了200多M,而手機中其他應用普遍都在100M以內,經過排除,發現是圖片載入引起的

2.寫了一個Demo發現,一張1920*1080的圖片放在drawable檔案夾就會使APP多70M記憶體,但是1920*1080*4也才7M,Google一番後發現可能和drawable檔案夾的名稱有關係,將圖片換到drawable-xxhdpi檔案夾後記憶體就正常了

Drawable尋找順序

APP在尋找圖片資源的時候遵循先高後低的原則,假設裝置的解析度是xxhdpi,那麼尋找順序如下

  • 先去drawable-xxhdpi檔案夾尋找,如果有這張圖片就使用,這個時候圖片不會縮放
  • 如果沒有找到,則去更高密度的檔案夾下找,例如drawable-xxxhdpi,密度依次遞增,如果找到了,圖片將會縮小,因為系統認為這些圖片都是給高解析度裝置使用的
  • 所有高密度檔案夾都沒有的話,就會去drawable-nodpi檔案夾去找,如果有也不會縮放
  • 還是沒有的話,就會去更低密度的檔案夾下面找,xhdpi,hdpi等,密度依次遞減,如果找到了,圖片將會放大,因為系統認為這個圖片是給低解析度裝置使用的

而drawable檔案夾預設的dpi為160(等同於mdpi),所以圖片將會放大,導致記憶體增高

Drawable檔案夾不正確導致的記憶體升高問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.