Android Bitmap内存占用计算公式

Android Bitmap内存占用计算公式:

图片以格式ARGB_8888(每个像素需4字节,RGB_565则2字节)存储时的计算方式,

占用内存 = int(scaledWidth * scale + 0.5f) * int(scaledHeight * scale + 0.5f) *4(字节),

其中scaledWidth 为图片的像素宽度,scaledHeight为图片的像素高度,scale = targetDensityDpi / densityDpi

  mdpi hdpi xhdpi xxhdpi xxxhdpi
densityDpi 160 240 320 480 560

targetDensityDpi = 160的屏幕密度手机为例,计算Bitmap内存占用如下:

图片位置:drawable-hdpi
图片格式:ARGB-8888
图片大小:400 * 400
宽度:int(400 * (160 / 240) + 0.5) = 267
高度:int(400 * (160 / 240) + 0.5) = 267
内存大小:267*267*4 = 285156B

图片位置:drawable-xhdpi
图片格式:ARGB-8888
图片大小:400 * 400
宽度:int(400 * (160 / 320) + 0.5) = 201
高度:int(400 * (160 / 320) + 0.5) = 201
内存大小:201*201*4 = 161604B

猜你喜欢

转载自blog.csdn.net/coolpad007/article/details/80037629