Android图像常用压缩技术

近期在做图片上传的功能,从相机拍摄或从相册选区。就研究了这方面的东西

一.图片的基本知识

1.文件形式(即以二进制形式存在于硬盘上)
   获取大小(Byte):File.length()
2.流的形式(即以二进制形式存在于内存中)
   获取大小(Byte):new FileInputStream(File).available()
3.Bitmap形式
   获取大小(Byte):Bitmap.getByteCount()

下面以我拍摄的图片为例,看下三者的大小区别(所用软件为自己临时开发的小工具);



从图中可以看出:
 1、拍摄完的照片文件大小和读取到内存中的文件流大小是一样的,说明文件形式和流的形式对图片体积大小并没有影响。
 2、当图片以Bitmap形式存在时,占用的内存就大的多了,为什么              呢,首先我们需要知道Bitmap大小计算的方式
  bitmap大小=图片长度(px)*图片宽度(px)*单位像素占用的字节数
单位像素所占字节数又是什么鬼,说白了就是图片的色彩模式。
在BitmapFactory.Options.inPreferredConfig这里可以找到,一共有4种, ARGB代表:A 透明度 , R 红色, G 绿色, B 蓝色



上面的bitmap在内存中的大小就可以计算了(默认色彩模式为ARGB_8888)

  2368*4224*4/10

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值