android系统中CPU使用率这一块在性能优化中也是非常重要的一个环节,接下来说一下我自己做优化的一些心得
一、问题的由来
近期做了一个项目,代码量比较少,但是CPU使用率达到18%-20%
如图红色边框里面是该应用的CPU使用率百分比 ( 这里包名做了涂鸦处理)
测试方法可以借助性能优化工具或者死办法注释掉认为可能导致问题的代码,然后再盘查;一般来说手机应用功能比较多的,CPU使用率达到30-40%都是正常
后来通过查阅资料以及综合分析,导致CPU消耗过高的一些因素:
1.应用出现大量的图片处理以及加载或者大量的音频、视频处理跟加载。PS:大量的图片、音频、视频处理最好使用JNI技术来实现
2.socket线程长时间运转,没有休息,也没有关闭
3.使用线程池代替New一个个的线程
4.自定义view,特别是Ondraw onmeasure 然后带有动画的,都会严重消耗性能,需要重点优化或者寻找替代方案
5.布局太深或者过度绘制,参考[性能优化——布局优化](http://blog.csdn.net/dhd040805/article/details/54288813)
到这一步,我的优化基本完成了,效果图如下
从之前的百分之20到现在的百分之2~~基本算是成功了吧
另外查看CPU使用率的办法参考这里