有这样一张照片 1242 × 2208的PNG图片,用Glide加载前后内存飙涨20M!如下图
问题出在,该图片内存占用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;