我正在縮小位圖以避免出現OutOfMemoryException。有沒有辦法指定一個文件大小解碼?因此,無論輸入圖像的文件大小如何,它都會縮小到指定的文件大小。如何將某個位圖解碼爲某個文件大小?
我在使用http://androidbysravan.wordpress.com/category/outofmemory-exception-when-decoding-with-bitmapfactory/中的以下代碼,直到找出指定輸出文件大小的方法。
Bitmap bm = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 10;
AssetFileDescriptor fileDescriptor =null;
try {
fileDescriptor = _context.getContentResolver().openAssetFileDescriptor(selectedImage,"r");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
finally{
try {
bm = BitmapFactory.decodeFileDescriptor(fileDescriptor.getFileDescriptor(), null, options);
fileDescriptor.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return bm;
}
文件大小沒有意義在這裏,當圖像被壓縮時,它是在一個文件中(例如, ,PNG,JPEG)。 – CommonsWare