参考《移动APP性能评测有优化》记录电量优化方法。

总结以下几条电量优化方法:

一、CPU时间片

当应用退到后台运行时,尽量减少应用的主动运行;

当检测到CPU时间片消耗异常时,深入线程分析:通过获取运行过程中线程的CPU时间片消耗,去抓取消耗时间片异常的线程,通过线程去定位相应代码逻辑。

使用DDMS的traceview工具:获取进程运行过程的traceview,定位CPU占用率异常的方法;

二、wake lock

前台运行时,不要去注册wake lock。此时注册没有任何意义,却会被计算到应用电量消耗中。

后台运行时,在保证业务需要的前提下,应尽量减少注册wake lock。

降低对系统的唤醒频率。使用partial wake lock 代替full wake lock,因为屏幕的亮起,也会消耗手机电量。

在注册后,也要注意及时释放,否则锁的持有时间会被一直计算到电量消耗中。

三、传感器

目前应用使用最多的传感器就是GPS传感器。Google官方ROM对GPS模块定义的基础耗电量值是90mA。

所以合理地设置使用GPS使用时长和使用频率,也能降低手机电量的消耗。

四、云省电策略

因为手机使用场景的复杂性,用户习惯的多样性,环境的随机性,导致了很难定位用户异常耗电的根本原因。

为了弄清楚用户在怎样的环境中,在怎样的使用场景中有异常耗电,可以考虑使用定期上报灰度用户手机电量数据的方式来分析问题。

最终在茫茫数据中找出哪些用户的功耗是异常的,并对用户行为进行分析,找出异常耗电的根源;

再从异常耗电的用户的耗电场景中总结出同一性的异常耗电场景加以适当的控制。

根据被测对象的特性,建立筛选标准。并借助自动化实现每日监控,对用户数据进行分析,以调整产品策略,最终实现产品功耗的优化。