图片大小计算方式
一个Bitmap位图占用内存 = 长 * 宽 * 单位像素占用的字节数
上述条件中,可变的量只有长和宽。
不同drawable下bitmap的长和宽
图片在不同屏幕密度下会缩放
缩放大小 = 设备屏幕密度 / drawable目录所代表屏幕密度
drawable目录所代表屏幕密度
drawable | 屏幕密度 |
---|---|
ldpi | 120 |
mdpi | 160 |
hdpi | 240 |
xhdpi | 320 |
xxhdpi | 480 |
- 屏幕密度:单位英寸面积上的像素点数
- 160为baseline,其他均以此为基准,在此设备上,1dp = 1px
420density屏幕下,2880*1800图片大小
图片所在路径 | 屏幕密度 | byteCount | width | height | 缩放 |
---|---|---|---|---|---|
mdpi | 160 | 142884000 | 7560 | 4725 | 420 /160 = 2.625 |
xxhdpi | 480 | 15876000 | 2520 | 1575 | 420/480 = 0.875 |
单位像素占用的字节数
Bitmap.Config | ARGB透明度红绿蓝 | 位数 | 备注 | 字节数 |
---|---|---|---|---|
ARGB_4444 | A=4,R=4,G=4,B=4 | 一个像素点占4+4+4+4=16位 | 图片质量太差 | 2 |
ARGB_8888 | A=8,R=8,G=8,B=8 | 一个像素点占8+8+8+8=32位 | 默认使用 | 4 |
RGB_565 | A=0,R=5,G=6,B=5 | 一个像素点占5+6+5=16位 | 没有透明度,颜色不鲜艳 | 2 |
ALPHA_8 | A=8,R=0,G=0,B=0 | 一个像素点占8位 | 1 |
网友评论