11.2-1 Bitmap2 OOM

简介

Out Of Memory(内存溢出):占用内存超出系统分配内存;

memory leak(内存泄漏):占用内存未释放,多次内存泄漏会造内存溢出;


bitmap使用技巧避免OOM

1.使用低内存占用量的编码方式(eg:默认使用Bitmap.Config.ARGB_8888,更改为使用ARGB_4444)

2.图片压缩(eg:设置图片缩放倍数inSampleSize,注:采样率是等比压缩)

11.2-1 Bitmap2 OOM_第1张图片
计算缩放倍数

3.及时回收图像(eg:引导页图片使用完主动recycle,帧动画加载一帧释放一帧等)

4.通过SoftReference引用方式管理图片资源(无需在代码里显式的处理图片的回收与释放,gc会自动处理资源的释放,但还不够优化)

5.使用官方LruCache进行cache处理(当存储图片尺寸大于LruCache 设定的值,近期使用次数最少的图片会被回收掉,系统自动释放内存)

你可能感兴趣的:(11.2-1 Bitmap2 OOM)