android性能优化之耗电优化
耗电检测
- 工具Battery Historian2.0
三大耗电模块
- 显示
- 网络
- cpu
显示
屏幕类型 | 功耗 | 特点 |
---|---|---|
OLED | 低 | 深色比浅色更省电 |
LCD | 高 | 亮度越高,越耗电 |
备注:在应用内调节亮度不太现实,一般由系统控制,在设计页面时可以考虑在不影响美观的情况下,优先使用深色,当然还是以应用的实际场景考虑优先
网络
网络主要有两种类型,移动网络和WiFi网络,gps也是属于广义网络中的
- 移动网络,有三种状态
- Full power: 能量最高的状态,移动网络连接被激活,允许设备以最大的传输速率进行操作
- Low power: 一种中间状态,对电量的消耗差不多是Full power状态的50%
- Standby: 最低的状态,没有数据连接需要传输,电量消耗最少
- WiFi
- 在理想情况下,吞吐量大,延迟低,耗电低于移动网络
- 此状态下,可进行大量数据请求
- GPS优化
- 精确度不高,不需要开启GPS,蜂窝无线提供的定位数据足够使用
- 避免在信号弱(如地下室)的地方开启GPS,信号弱时gps耗电量会急剧增加
网络优化建议
- 合并网络请求,减少请求次数
- 尽量使用WiFi传输信息
- 实时的信息上报改为非实时上报
CPU
- 计算优化
- 尽量避开浮点运算
- 除法变乘法
- 充分利用移位
- 查表法,直接使用映射关系
- 利用arm neon指令集做并行运算,需要ARM V7及以上架构CPU才能支持
- 避免WakeLock使用不当
- 避免Alarm Manager使用不当
- 使用Job Scheduler