安卓电量优化基础——adb

2020-04-08  本文已影响0人  gogoingmonkey

前言

电量优化,大部分高级安卓开发可能也只知道一个概念,大型公司项目中电量优化却直接关系用户的体验。要完全掌握电量优化技能,adb使用一定要很熟

常用adb命令

1.重置手机电量分析数据

adb shell dumpsys  batterystats --reset

2.导出当前电量数据报告 ,会到处很多日志,包括ANR日志也在里面

adb  bugreport

3.完成数据导出后,打开地址battery-histogram: 可能需要梯子

4.针对系统的Doze模式下,adb使用
Android 6.0(API level 23)开始,Android提出了两个延长电池使用时间的省电特性 ,当用户一段时间没有使用手机的时候,Doze模式通过延缓app后台的CPU和网络活动减少电量的消耗 App Stanbdy延缓用户最近没有使用app的后台网络活动

比如大部分应用有推送功能,不希望在锁屏、不充电时被Doze模式干掉
检测方式:
查看当前手机状态 :

adb shell dumpsys battery

模拟手机未充电状态:

adb shell dumpsys battery unplug

让手机IDLE有效:

 adb shell dumpsys deviceidle enable 

进入IDLE模式方法:
1.屏幕亮着状态按下电源按钮关闭屏幕,敲入命令让其进入IDLE模式

第一种在黑屏后执行以下命令后,依次出现各种状态:
C02S2K53FVH5:~ zhouhao287$ adb  shell  dumpsys deviceidle step
Stepped to deep: IDLE_PENDING
C02S2K53FVH5:~ zhouhao287$ adb  shell  dumpsys deviceidle step
Stepped to deep: SENSING
C02S2K53FVH5:~ zhouhao287$ adb  shell  dumpsys deviceidle step
Stepped to deep: LOCATING
C02S2K53FVH5:~ zhouhao287$ adb  shell  dumpsys deviceidle step
Stepped to deep: IDLE
  1. 强制进入:
 adb shell dumpsys deviceidle force-idle

查看并验证当前手机是否已经进入IDLE模式:

  adb shell dumpsys deviceidle
  mScreenOn=true
  mNetworkConnected=true
  mCharging=false
  mMotionActive=true
  mNotMoving=false
  mLocating=false mHasGps=true mHasNetwork=false mLocated=false
  mState=IDLE mLightState=OVERRIDE
  mInactiveTimeout=+30m0s0ms
  mActiveIdleOpCount=-1
  mNextAlarmTime=+3h58m32s895ms
  mNextIdlePendingDelay=+10m0s0ms
  mNextIdleDelay=+6h0m0s0ms
  mMaintenanceStartTime=-1m29s91ms

adb shell dumpsys deviceidle disable 和 adb shell dumpsys battery reset 即可让手机恢复状态。再敲入 adb shell dumpsys battery 查看一下手机是否已经恢复状态

上一篇 下一篇

猜你喜欢

热点阅读