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

更多相关文章

  1. Android之Drawable动态获取图片赋值
  2. Android(安卓)Adapter 异步图片请求诡异问题
  3. 【移动开发】Android相机、相册获取图片显示并保存到SD卡
  4. GitHub上受欢迎的Android(安卓)UI 库2
  5. Android之Looper、Handler、Message、MessageQueue应用篇
  6. Android(安卓)图片的读取与写入
  7. Mac下Android(安卓)Studio简单使用
  8. 抓取Android(安卓)WebView截屏
  9. android橡皮擦擦图片功能

随机推荐

  1. 0426-变量与常量
  2. PHP之变量与常量
  3. 软件测试行业前景怎么样?值不值得转行学测
  4. 一文带你领略JS中原型链的精妙设计!
  5. 快递批量查询教程,详细介绍如何批量查询很
  6. 软件测试行业前景发展怎么样?从事软测到底
  7. Python技术分享:深入理解ThreadLocal变量
  8. 苹果 iOS 14.5 如何自动下载新的播客剧集
  9. Unity小游戏之闯关小游戏
  10. 10行C++代码实现高性能HTTP服务