BitmapFactory.decodeFile返回为null遇到后的处理

   有****标记的为关键处理

 

 final BitmapFactory.Options options = new BitmapFactory.Options();

    // ****   该值设为true那么将不返回实际的bitmap不给其分配内存空间而里面只包括一些解码边界信息即图片大小信息
    options.inJustDecodeBounds = true;// inJustDecodeBounds设置为true,可以不把图片读到内存中,但依然可以计算出图片的大小
    BitmapFactory.decodeFile(filePath, options);

    // Calculate inSampleSize  根据高宽度和屏幕高宽度计算压缩程度
    options.inSampleSize = calculateInSampleSize(options, w, h);

    // *****Decode bitmap with inSampleSize set
    options.inJustDecodeBounds = false;// 重新读入图片,注意这次要把options.inJustDecodeBounds
    // 设为 false
    Bitmap bitmap = BitmapFactory.decodeFile(filePath, options);// BitmapFactory.decodeFile()按指定大小取得图片缩略图
 

你可能感兴趣的:(android常见问题)