Android 内存优化学习

来源:互联网 发布:代码什么颜色 知乎 编辑:程序博客网 时间:2024/05/19 22:50
Bitmap是造成内存过高甚至是OOM的最大威胁。
由于Android系统在做图片资源适配的时候会对不同分辨率的文件下的图片进行缩放来适配相应的分辨率
,如果图片的分辨率与资源文件夹的分辨率不匹配或者图片的分辨率过高,就会导致系统消耗更多的内存资源。
同时,在适当的时候,应该显示合适大小的图片,尽量降低图片的精度

*及时回收内存
一旦bitmap使用完毕后,一定要及时使用bitmap.recyvle方法进行内存资源的释放,自android3.0 后
bitmap被放到了堆中,其内存由GC管理,不需要手动释放了



*使用图片缓存
通过内存(LruCache)和硬盘缓存(DiskLruCache)可以更好的使用Bitmap



代码优化
任何的java类,都将占用500字节的内存控件,创建一个类的实力会消耗大概15字节的内存
对常量使用static修饰符
使用静态方法,静态方法比普通方法提高15%的访问速度
减少不必要的成员变量,一个变量可以定义为局部变量尽量不要定义为成员变量
减少不必要的对象,使用基础类型会比使用对象更加节省资源,同时避免频繁创建段作域的变量
尽量不要使用枚举,少用迭代
对于Cirsor,Receiver,sensor,File对象要主要对它们的创建注册回收
避免使用IOC框架
使用RenderScript,OpenGL来进行非常复杂的绘图操作
使用SurfaceView来进行大量的频繁的绘图操作
尽量使用试图缓存,而不是每次都infate()方法进行解析

0 0
原创粉丝点击