我必须压缩后从http服务器下载的位图,如果图像大小是100KB的SD卡,如果它是高达100KB,然后不要压缩。
因此,我想知道SD卡上的位图的大小,然后将其保存到SD卡上,以便在必要时可以压缩位图。image.getRowHeight()*image.getHeight()提供的大小与file.length()不同。
发布于 2014-10-19 14:37:42
正如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()
发布于 2014-10-19 14:46:56
使用您的http客户端检查响应的Content-Lenght报头字段。
rfc2616
Content-Length entity-header字段指示发送给收件人的entity-body的大小(以八位字节的十进制数表示),或者,在使用HEAD方法的情况下,指示如果请求是GET,则将发送的entity-body的大小。
https://stackoverflow.com/questions/26447883
复制相似问题