ImageView setImageBitmap 不顯示圖片
阿新 • • 發佈:2019-02-06
從sd卡里讀出圖片後有時呼叫setImageBitmap(bitmap)方法會顯示不出圖片,仔細考慮過後原來是載入的圖片過大導致的,解決辦法為:
BitmapFactory.Options op = new BitmapFactory.Options();
op.inSampleSize = 2;
//op.inJustDecodeBounds = true; //它僅僅會把它的寬,高取回來給你,這樣就不會佔用太多的記憶體,也就不會那麼頻繁的發生OOM了。
//op.inPreferredConfig = Bitmap.Config.ARGB_4444; // 預設是Bitmap.Config.ARGB_8888
private Bitmap createBitmapFromByteData(byte[] data ,Options options){
Bitmap bitmap = null;
if(options == null){
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
}else{
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options);
}
return bitmap;
}
這樣返回的bitmap就可以被顯示出來了。