优化(4) - 电量

一、手机最耗电的地方

1.唤醒屏幕

2.CPU唤醒使用

3.蜂窝煤比wifi费电

 

二、电量检测工具

1.因为电量统计数据是持续的, 会非常大, 统计我们的待测试App之前先reset下, 连上设备, 命令行执行:

$ adb shell dumpsys batterystats --reset

Battery stats reset

2.断开测试设备, 操作我们的待测试App

3.重新连接设备, 使用adb命令导出相关统计数据:

// 此命令持续记录输出, 想要停止记录时按Ctrl+C退出

$ adb bugreport > bugreport.txt

Battery History工具安装:https://www.cnblogs.com/chenxibobo/p/9657266.html

 

三、减少电量的方式

1.监听手机充电状态

与监听wifi同理,可以在充电状态,做一些费电的事情。

 

2.屏幕唤醒

eg:APP需要支持视频播放,那么在播放的界面需要控制好不熄屏。当退出播放时使用。

方法1:getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

方法2:WakeLock acquire和release 也可实现上述功能。

https://www.jianshu.com/p/0c41abab226a

 

3. JobScheduler、WorkManger

JobSchedule的宗旨就是把一些不是特别紧急的任务放到更合适的时机批量处理。这样做有两个好处

避免频繁的唤醒硬件模块,造成不必要的电量消耗。

避免在不合适的时间(例如低电量情况下、弱网络或者移动网络情况下的)执行过多的任务消耗电量

 

4.合理使用定位、蓝牙等耗时模块。

eg: 定位如果对位置不是特别精准 ,可使用wifi定位等

参考:https://www.jianshu.com/p/c86021fe958d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值