直接开始内存优化实例吧
10.2.1 Bitmap优化
Bitmap是造成内存占用过高甚至是OOM的最大威胁,下面是合理使用BItmap的小技巧:
- 使用适当分辨率和大小的图片
要把图片放进与它分辨率相匹配的资源文件夹中,避免消耗更多资源,同时,在适当的时候,显示合适的图片大小,例如在图片列表中,使用缩略图thumbnails,而在详细的时候再显示原图,或者在图片要求不高的地方,尽量降低图片的精度;
- 及时回收内存
一旦使用完bitmap要及时调用recycle()的方法释放内存资源
- 使用图片缓存
通过内存缓存(LruCache)和硬盘缓存(DiskLruCache)。
10.2.2 代码优化
- 对常量使用static修饰符
- 使用静态方法,比普通方法高15%的访问速度
- 减少不必要的成员变量
- 减少不必要的对象
- 尽量不使用枚举、少用迭代器
- 对Cursor、Receiver、Sensor、File等对象时,注意它们的回收
- 使用RenderScript、OpenGL来进行非常复杂的绘图操作
- 使用SurfaceVIew来替代VIew进行大量、频繁的绘图操作
- 尽量使用视图缓存,而不是每次都是用inflate来解析视图