Android系統加載圖片是先要把圖片轉換爲Bitmap對象然後再傳到ImageView裏頭顯示的。
現在難點是:
- 不同的圖片有不同的大小,造成Bitmap對象size不一樣
- 不同的機器內存不一致,內存小的機器很容易因爲單個或者多個Bitmap導致OOM
爲了防止OOM
- 適當的給圖片進行壓縮
- 適當的緩存方案(ViewHolder,LruCache,DiskLruCache等)
- 使用BitmapRegionDecoder加載大圖局部(其實就是屏幕大小的顯示部分)
適當壓縮圖片
Android API提供了BitmapFactory 類,BitmapFactory 有很多解析方法方便我們創建和壓縮bitmap對象
LruCache緩存
BitmapRegionDecoder高清加載大圖
[Android 高清加載巨圖方案 拒絕壓縮圖片](http://blog.csdn.net/lmj623565791/article/details/49300989
)