简介
Out Of Memory(内存溢出):占用内存超出系统分配内存;
memory leak(内存泄漏):占用内存未释放,多次内存泄漏会造内存溢出;
bitmap使用技巧避免OOM
1.使用低内存占用量的编码方式(eg:默认使用Bitmap.Config.ARGB_8888,更改为使用ARGB_4444)
2.图片压缩(eg:设置图片缩放倍数inSampleSize,注:采样率是等比压缩)
计算缩放倍数3.及时回收图像(eg:引导页图片使用完主动recycle,帧动画加载一帧释放一帧等)
4.通过SoftReference引用方式管理图片资源(无需在代码里显式的处理图片的回收与释放,gc会自动处理资源的释放,但还不够优化)
5.使用官方LruCache进行cache处理(当存储图片尺寸大于LruCache 设定的值,近期使用次数最少的图片会被回收掉,系统自动释放内存)
网友评论