Android(安卓)Bitmap内存占用计算公式
16lz
2021-01-26
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
更多相关文章
- Android之Drawable动态获取图片赋值
- Android(安卓)Adapter 异步图片请求诡异问题
- 【移动开发】Android相机、相册获取图片显示并保存到SD卡
- GitHub上受欢迎的Android(安卓)UI 库2
- Android之Looper、Handler、Message、MessageQueue应用篇
- Android(安卓)图片的读取与写入
- Mac下Android(安卓)Studio简单使用
- 抓取Android(安卓)WebView截屏
- android橡皮擦擦图片功能