有这样一张照片 1242 × 2208的PNG图片,用Glide加载前后内存飙涨20M!如下图
内存飙涨20M
内存占用存在两份大data
问题出在,该图片内存占用10M(1242 × 2208 * 4 原始数据) + 10M(copy剪切数据)。有3个疑问
- 为什么图片占用10M?Glide内部默认用RGB565啊
- 为什么占用了两份内存?
- 为什么跳转到下个Activity后,内存没有及时恢复
1. 为什么图片占用10M?Glide内部默认用RGB_565啊
因为UI配的图有Alpha,Glide解析存在Alpha的必须用ARGB_8888
return hasAlpha ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565;
UI给的Splash图对应二进制
文件魔数解析方式
解析结果














网友评论