典型的从远程URL保存位图图像的方式(基于研究)如下:
Bitmap bmImage = null;
InputStream in = new java.net.URL(imageUrl).openStream();
bmImage = BitmapFactory.decodeStream(in);
File file = new File(myPath);
FileOutputStream outputStream;
outputStream = new FileOutputStream(file);
bmImage.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
outputStream.close();
除非压缩位图(位图始终未经压缩),否则我无法保存它。远程图像大小为32KB,压缩后变为110KB。我知道我必须降低压缩参数才能获得更小的尺寸,但远程图像是优化的且效率更高。
有没有办法在移动存储上保存远程图像而不压缩它?
===== 解决我的问题的答案 =====
首先,我为误导内容道歉;我想要保存的所有图像都可能是png | jpeg | gif |等等。可能我误导了你们,我试图保存的图像是BMP格式,但实际上并不是。
尽管如此,对于那些想要保存未经压缩的图像的人,请查看这个answer