(2)圖片加載原理

Android系統(tǒng)加載圖片是先要把圖片轉(zhuǎn)換為Bitmap對象然后再傳到ImageView里頭顯示的。

現(xiàn)在難點是:

  • 不同的圖片有不同的大小,造成Bitmap對象size不一樣
  • 不同的機器內(nèi)存不一致,內(nèi)存小的機器很容易因為單個或者多個Bitmap導(dǎo)致OOM

為了防止OOM

  • 適當(dāng)?shù)慕o圖片進行壓縮
  • 適當(dāng)?shù)木彺娣桨福╒iewHolder,LruCache,DiskLruCache等)
  • 使用BitmapRegionDecoder加載大圖局部(其實就是屏幕大小的顯示部分)

適當(dāng)壓縮圖片

Android API提供了BitmapFactory 類,BitmapFactory 有很多解析方法方便我們創(chuàng)建和壓縮bitmap對象


LruCache緩存

(1)LruCache原理分析


BitmapRegionDecoder高清加載大圖

Android 高清加載巨圖方案 拒絕壓縮圖片


各主流圖片框架架構(gòu)

Android 三大圖片緩存原理、特性對比


參考

Android高效加載大圖、多圖解決方案,有效避免程序OOM

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容