我正在使用BitmapFactory.decodeStream(inputStream)来创建位图。但是,与实际图像大小相比,bitmap.getByteCount()返回的位图大小非常大。下载(在磁盘上)时的实际图像大小约为36kb,但生成的位图大小约为800kb。既然是同一个形象,怎么会有这么大的差异呢?我正在使用以下代码。 Bitmap.Config.RGB_565正在帮助我缩小图像的大小
public Bitmap downloadImage(String imageUrl) {
Bitmap bitmap = null;
InputStream inputStream = null;
try {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565;
inputStream = (new URL(imageUrl)).openStream();
bitmap = BitmapFactory.decodeStream(inputStream, null, options);
Log.d("downloadImage","size of downloaded image " + bitmap.getByteCount()/1024);
return bitmap;
} catch (Exception e) {
}
finally {
try {
if(inputStream != null) {
inputStream.close();
}
} catch(Exception e) {
}
}
return bitmap;
}