大家应该都清楚app上内存是非常宝贵的资源,而Bitmap几乎是app里面占据内存最大的一个部分。
不少同学也清楚,Bitmap占据的内存计算为:
宽 * 高 * 单个像素所需字节数
今天有个很常规,但是你可能没有太关注的问题:
- Bitmap所占用的内存,是app的哪部分的内存?或者说app运行时可使用Java内存为512M,Bitmap占据的内存可以超过512M吗?
- 问题1中所描述的,需要区分Android版本吗(5.0以下不考虑)?
- 问题1,问题2如果都搞清楚,经常在一些blog看到这样的代码:设置fresco图片缓存空间为Java内存的白分比,例如1/4,合适吗?
大家如果想问的问题,可以去这里发起提问
更多问答 >>
-
2021-05-06 00:16
-
每日一问 | view.requestLayout如果在灭屏或者切home之后调用会怎么样?
2021-05-06 00:16 -
每日一问 | 已经有了 Intent,那为啥还要 PendingIntent?
2021-05-28 00:29 -
2021-05-28 00:29
-
每日一问 | Dialog 的构造方法的 context 必须传入 Activity吗?
2021-07-11 22:06 -
2021-04-08 00:25
-
每日一问 | mipmap vs drawable,傻傻分不清楚?
2021-03-30 21:14 -
每日一问 | onDraw 里面调用 invalidate 做动画,有什么问题?
2021-04-13 00:31 -
每日一问 | 在做性能优化的时候,常常看到 Thread(Cpu) Time,Wall clock Time?
2021-03-15 00:43 -
2021-03-18 23:20

问题1,2如上所示
问题3:不过简单起见,将缓存内存大小设置为应用内存的1/8或者1/4,应该是一种比较通用简单的做法
有个疑问🤔️,既然在8.0和以上的版本bitma像素数据存native中,那是不是可以说永远不会出现因为加载bitmap,而导致的Java OOM问题了?