Android性能优化——电池使用优化

为什么要做电量优化

Android应用开发中,需要考虑的情况是,如何优化电量使用,让我们的app不会因为电量消耗过高被用户排斥,或者被其他安全应用报告。

什么样的行为会导致电量损耗过高

对于移动设备而言,有以下几种行为会导致设备电量的消耗增加
1.屏幕保持开启状态
2.蜂窝网络的频繁启动与关闭

如何观测我们的应用电量使用情况

可以先使用以下adb命令,生成我们应用的电量使用情况txt

从电脑拔出手机,操作一会我们的目标app,再接上电脑

然后再去https://github.com/google/battery-historian 下载zip文件
找到下载文件中的historian.py,拷贝到常用位置
接下把cmd转到刚刚存放文件的位置来运行

运行结束后就得到了一个html文件,可以在浏览器打开查看
顶部是电量情况
最左边是各种行为
底部是时间间隔(如下图,点击查看大图)

优化API——PowerManager.WakeLock

PowerManager.WakeLock 可以通过 acquire()方法获得,使设备保持在获取时的状态。
在执行完任务之后,我们需要调用release()方法来释放锁,这样,设备就会在空闲的时候进行休眠来节省电池使用。

优化API——JobScheduler

在满足特定条件后,自动执行任务
用法如下代码

MyJobService 是我们自定义的继承自 JobService 的一个类,我们可以在其内部做一些处理,例如网络请求等等。
当满足特定条件时,这些job就会被调用,例子中使用的条件是,当wifi连接时。
要注意的是,这个api是在21以后才添加的。

u3coding
A software developer

Leave a Comment

Your email address will not be published. Required fields are marked *

*