本文部分内容来自http://blog.csdn.net/a396901990/article/details/37914465,感谢博主的分享,知识很系统很全面。
这两天在看Android的内存优化方面的知识,Android开发中最容易出现的就是内存泄露问题,因为Android内存是有限的,而且并不是很大,这就要求开发人员在开发客户端时要格外注意内存的优化,避免出现内存泄露。
那么内存泄露会引发哪些问题呢?
1、程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC)
2、程序莫名消失(当程序所占内存越大,它在后台的时候就越可能被干掉。反之内存占用越小,在后台存在的时间就越长)
3、直接崩溃(OutOfMemoryError)
上面提到的博主,在他的博文中提出通过“5R”方法对Android的内存进行优化,“5R”即为:Reckon(计算)、Reduce(减少)、Reuse(重用)、Recycle(回收)、Review(检查)。他提到的一些小技巧很值得开发人员们学习哦。
Reckon(计算)我就不详述了,感兴趣的可以去上文中的博客中去看看。
我来说一下我在开发中使用到的部分和想要学习的部分。
(这里是列表,上文中的博客中对这些都有详细的介绍哦,我这样列在这里是为了让自己思路更清晰,内容太多,我会继续分篇整理,做大神的搬运工.ps: 排版简直神烦)
1、减少内存使用(Reduce)
(1)图片处理
(2)对常量使用static final修饰符
(3)静态方法代替虚拟方法
(4) 减少不必要的全局变量
(5)避免创建不必要的对象
(6)避免内部Getters/Setters
(7)避免使用浮点数
(8)使用实体类比接口好
(9)谨慎使用枚举
(10)注意for循环
(11)使用类库
2、重用已有资源
(1)缓存的使用(Cache)
(2)池(Pool)
(3)适配器(Adapter)
3、回收闲置的内存
(1)JAVA的垃圾回收机制
(2)资源回收(实用型)
4、检查自己的代码
(1)UI检查(控件、布局优化)
(2)设计检查(框架、逻辑优化)