使用BitmapFactory.decodeStream后的位图大小

时间:2016-03-08 11:05:01

标签: android bitmap

我正在使用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;
}

0 个答案:

没有答案