Bitmap图片压缩

图片压缩就是为了避免我们内存的溢出。而BitMap是android系统中对图像处理最重要的一个类,所以我们可以用他来对图像进行剪切,压缩,一系列操作。常用的压缩方法有质量压缩,采样率压缩,缩放法压缩,RGB_565压缩等。

质量压缩

质量压缩不会减少图片的像素,他是在保持像素的前提下来改变图片的透明度,但是图片的长,宽,像素都不会变,所以他占用的内存也不会改变。

采样率压缩

采样率压缩其实就是缩放bitamp的尺寸,通过调节其inSampleSize参数,比如调节为2,宽高会为原来的1/2,宽高都减少了,内存自然也就减少了。

缩放法压缩

放缩法压缩使用的是通过矩阵对图片进行裁剪,也是通过缩放图片尺寸,来达到压缩图片的效果,和采样率的原理一样

RGB_565压缩

这是通过压缩像素占用的内存来达到压缩的效果,一般不建议使用ARGB_4444,因为画质实在是辣鸡,如果对透明度没有要求,建议可以改成RGB_565,相比ARGB_8888将节省一半的内存开销。

图片二次采样压缩

1.第一次采样

inJustDecodeBounds设置为ture,只会加载图片的边框,不会加载图片的具体内容。

2.根据原图的宽高,结合控件的宽高计算出缩放比例,然后通过inSamplesize(in 三pou Size)对图片进行尺寸的缩放。

3.二次采样时需要将图片加载出来显示,不能只加载图片的框架,因此inJustDecodeBounds属性要设置为false。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android中图片是以bitmap形式存在的,这篇文章主要介绍了Android实现图片压缩(bitmap的六种压...
    Ezea阅读 576评论 0 2
  • 图片压缩就是为了避免我们内存溢出,所有要对一系列进行压缩二次采样等 1.什么是OOM?为什么会引起OOM? out...
    lay_wn阅读 978评论 0 1
  • 一直以来Bitmap都是开发中很棘手的问题,这个问题就是传说中的OOM(java.lang.OutofMemory...
    M悇芐冋忆阅读 4,881评论 0 11
  • 摘要:对android 上图片压缩,其实总结起来基本可以分为两类压缩:尺寸压缩和质量压缩, 尺寸压缩其实也可以理解...
    男爵是只猫丶阅读 8,814评论 2 14
  • 7.1 压缩图片 一、基础知识 1、图片的格式 jpg:最常见的图片格式。色彩还原度比较好,可以支持适当压缩后保持...
    AndroidMaster阅读 2,542评论 0 13