我是靠谱客的博主 平常水壶,最近开发中收集的这篇文章主要介绍Android中Bitmap大小计算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Bitmap.Config是Bitmap中的一个内部类,在Bitmap类里createBitmap(intwidth, int height, Bitmap.Config config)方法里会用到,打开个这个类一看

public static final Bitmap.Config ALPHA_8  

public static final Bitmap.Config ARGB_4444 

public static final Bitmap.Config ARGB_8888 

public static final Bitmap.Config RGB_565  

ARGB_8888、ARGB_4444、RGB_565、ALPHA_8
四种类型为bitmap在内存中存在的四种色彩的存储模式,他们本质区别体现在每种模式下的bitmap内部的每个像素点,在内存中的大小和组成成分的区别。
A->alpha(透明度),R->red(红色),G->green(绿色),B->blue(蓝色)
每种模式下的一个像素的具体存储大小: 
ARGB_8888:A->8bit->一个字节,R->8bit->一个字节,G->8bit->一个字节,B->8bit->一个字节,即8888,一个像素总共占四个字节,8+8+8+8=32bit=4byte
ARGB_4444:A->4bit->半个字节,R->4bit->半个字节,G->4bit->半个字节,B->4bit->半个字节,即4444,一个像素总共占两个字节,4+4+4+4=16bit=2byte
RGB_565:R->5bit->半个字节,G->6bit->半个字节,B->5bit->半个字节,即565,一个像素总共占两个字节,5+6+5=16bit=2byte
ALPHA_8:A->8bit->一个字节,即8,一个像素总共占一个字节,8=8bit=1byte
计算大小方式: 
一张bitmap的大小 = 有多少个像素点 * 每个像素点内存中占用的大小 = 长 * 宽 * 3中讲的各种模式下对应的像素点占用的比特位
例子:计算一张长宽为1000/1000,ARGB_8888格式的一张bitmap的大小: 
1000 * 1000 * 4byte = 4000kb = 4M

最后

以上就是平常水壶为你收集整理的Android中Bitmap大小计算的全部内容,希望文章能够帮你解决Android中Bitmap大小计算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部