美文网首页
安卓电量优化基础——adb

安卓电量优化基础——adb

作者: gogoingmonkey | 来源:发表于2020-04-08 16:40 被阅读0次

    前言

    电量优化,大部分高级安卓开发可能也只知道一个概念,大型公司项目中电量优化却直接关系用户的体验。要完全掌握电量优化技能,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 查看一下手机是否已经恢复状态

    相关文章

      网友评论

          本文标题:安卓电量优化基础——adb

          本文链接:https://www.haomeiwen.com/subject/vngtmhtx.html