在将其保存在SD卡上之前,知道sd卡上的位图大小

时间:2014-10-19 06:15:26

标签: android file bitmap

如果图像大小在SD卡上占用100KB,我必须在从http服务器下载后压缩位图,如果它高达100 KB则不压缩。

所以,我想知道SD卡上的位图大小,然后再保存在sdcard上,这样我就可以压缩位图了。 image.getRowHeight()* image.getHeight()给出的大小与file.length()不同。

2 个答案:

答案 0 :(得分:0)

official android document中所述,以下技术允许您在构造(和内存分配)位图之前读取图像数据的尺寸和类型。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;

要查看文件大小(以字节为单位),请使用File.length()

答案 1 :(得分:0)

使用您的http客户端检查响应的Content-Lenght标题字段。

rfc2616

  

Content-Length实体标题字段指示的大小   entity-body,以十进制数字表示的OCTET,发送给收件人或者   HEAD方法的情况,即实体的大小   如果请求是GET,则已被发送。