Bitmap相关

作者: wintersweett | 来源:发表于2019-04-29 13:47 被阅读11次

一、存储格式

当界面显示图片时,不时按图片大小计算,而是按(像素点的多少*每个像素点占用的空间大小)来计算的。将图片加载到内存中,是将图片中的每个像素点都加载到内存中,下面我们就来看看config的三种像素ARGB_4444、ARGB_8888、RGB_565

(1)ARGB_4444:A(alpha)占4位,R(red)占4位,G(Green)占四位,B(Blue)占四位,每个像素点占16位,也就是2字节的内存,同时存储位图的透明度和颜色。但该精度的位图质量较差,官方不推荐

(2)ARGB_8888:A(alpha)占八位,R(red)占八位,G(Green)占八位,B(Blue)占八位,每个像素点占32位,也就是4字节的内存,同时存储透明度和颜色。如果一个480*800的位图设置了此类型,那它占用的内存空间480*800*4/1024*1024=1.46M

3)RGB_565:R(red)占5位,G(Green)占6位,B(Blue)占5位,每个像素点占16位,相当于2个字节的内存,只存储了颜色

二、inSampleSize(采样率),如下图,源码中已经有详细介绍

如采用ARGB8888的存储格式,一个1024*1024*4,也就是4M大小的图片,采样率为2,所占用内存为512*512*4大小,也就是占用了1M内存

如何选取inSampleSize的值呢?

如果ImageView要求的大小为100*100,如果图片大小为200*200,那么insampleSize设置为2,图片大小变为100*100;如果图片大小为200*300,inSampleSize=2的话,图片大小变为100*150,inSampleSize=3的话,图片大小变为66*100,那么相对于100*100,图片就有拉伸的效果,效果不好 

获取采样率,遵循如下流程:

1)将BitmapFactory.Options的inJustDecodeBounds参数设为true并加载图片

2)从BitmapFactory.Options中取出图片的原始宽高信息

3)根据采样率的规则并结合目标view的所需大小计算出采样率

4)将BitmapFactory.Options的inJustDecodeBounds设为false,然后重新加载图片

详细代码我会上传github,见https://github.com/wintersweett/App,里的BitmapUtis中方法

具体代码详见https://github.com/wintersweett/App.git中的BitmapUtils类

相关文章

  • Bitmap相关

    一、存储格式 当界面显示图片时,不时按图片大小计算,而是按(像素点的多少*每个像素点占用的空间大小)来计算的。将图...

  • Bitmap相关

    1.介绍 Bitmap,即位图。它本质上就是一张图片的内容在内存中的表达形式 1、Bitmap.Config Co...

  • Bitmap

    一:Bitmap相关方法总结 二:单个像素的字节大小 三:Bitmap加载方式 四:Bitmap | Drawab...

  • Bitmap相关问题

    1.recycleBitmap是存储在native内存和java内存上,当其被对象回收的时候,需要分两部分来回收,...

  • Android Bitmap相关

    一、获取View快照 方法1、已绘制到Window的View 方法2、任意View,如 getBitmapFrom...

  • 加载大图

    利用 BitmapRegionDecoder 进行bitmap的部分加载 相关方法BitmapRegionDeco...

  • 计算Bitmap占用的内存大小

    参考资料 Android开发绕不过的坑:你的Bitmap究竟占多大内存? 相关因素 Bitmap 在内存当中占用的...

  • 图片基础知识梳理(2) - Bitmap 占用内存分析

    一、概述 今天介绍一些关于Bitmap的基础知识: Bitmap是什么 屏幕密度相关概念 工程中各drawable...

  • 实现Apache Doris的bitmap相关函数过程中遇到的问

    文章来由 正如题目所言,最近笔者在尝试解决Doris的bitmap函数相关的一些issue,如bitmap_max...

  • 面试大厂,Android中的内存大户Bitmap这些知识点集合还

    前言 今天聊聊Bitmap相关的面试题/知识点,看看你是否都弄明白了呢? Bitmap是什么,怎么存储图片? Bi...

网友评论

    本文标题:Bitmap相关

    本文链接:https://www.haomeiwen.com/subject/exbenqtx.html