如何计算一张图片的占用内存大小?
- 注意是占用内存,不是文件大小
- 可以运行时获取
- 重要的是能直接掌握计算方法
基础知识
Android 屏幕像素密度分类:
(其实还有一种 ldpi = 120
,不过这个已经绝种了,所以最低的只需关心mdpi
即可)
上表中的比例为:m : h : xh : xxh: xxxh = 1 : 1.5 : 2 : 3 : 4 或 m : h : xh : xxh: xxxh = 2 : 3 : 4 : 6 : 8(23468)
- densityDpi :像素密度,表示一英寸的屏幕有多少像素点。 单位是
dpi
,即 “dot per inch” 的缩写。 - density :一个 dp 占多少像素点,比如
density = 2
表示 1 个dp
占 2 个像素点,即1dp = 2px
屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高