android BitmapFactory.decodeFile()返回为null问题

时间:2021-09-14 22:40:11

BitmapFactory.decodeFile()返回为null原因有多种,

其中一种为使用的图片太大导致内存暴掉,可以修改为以下这种方案:

BitmapFactory.Options options;

try {
String imageInSD = "/sdcard/UserImages/" + userImageName;
Bitmap bitmap = BitmapFactory.decodeFile(imageInSD);
return bitmap;
} catch (OutOfMemoryError e) {
try {
options
= new BitmapFactory.Options();
options
.inSampleSize = 2;
Bitmap bitmap = BitmapFactory.decodeFile(imageInSD, null, options);
return bitmap;
} catch(Exception e) {
Log.e(e);
}
}
如果这样不行的话,就要采用另外一种流的方式,如以下这种方案:
        InputStream inputStream = null ;
try {
inputStream = assetManager.open("b.png");
bitmap = BitmapFactory.decodeStream(inputStream);
} catch (Exception e) {

}
        imageView.setImageBitmap(bitmap);