省电管理功能说明书

1.省电管理-UI界面

  1. 省电模式
  2. 超级省电模式
  3. 应用智能省电
  4. 耗电详情
  5. 省电提醒

主界面

1. 省电模式

主要进行硬件开关的控制和清理一次应用

省电模式

配置信息

    public final static int mPowerSaveBrightnessValue = (int) (0xFF * 0.45);
    public final static int mPowerSaveScreenOffTimeoutValue = 30000;
    public final static boolean mPowerSaveCloseRotationLock = true;
    public final static boolean mPowerSaveCloseGps = false;
    public final static boolean mPowerSaveCloseScreenSaver = true;
    public final static boolean mPowerSaveCloseWifi = false;
    public final static boolean mPowerSaveCloseWifiIfUnConn = true;
    public final static boolean mPowerSaveCloseWifiAp = true;
    public final static boolean mPowerSaveCloseBt = false;
    public final static boolean mPowerSaveCloseBtIfUnConn = true;
    public final static boolean mPowerSaveCloseGprs = false;
    public final static boolean mPowerSaveCloseSyncAuto = true;
    public final static boolean mPowerSaveCloseVibrateOnTouch = true;

2. 超级省电

主要进行硬件开关的控制和严格的进程管理

超级省电

    public void startPowerSave() {
        updateFlagStatue();

        startSuperPowerConfig(mContext);
        startGMSPowerSave();
        startGooglePowerSave();
        startBrightnessValuePowerSave();
        startScreenOffTimeOutPowerSave();
        startBlueToothPowerSave();
        startWiFiPowerSave();
        startWiFiApPowerSave();
        startGprsPowerSave();
        startSyncAutoPowerSave();
        startScreenSaverPowerSave();
        startRotationLockPowerSave();
        startVibrateOnTouchPowerSave();
        startCameraDoubleTapPowerSave();
        startLockScreenShowNotificationPowerSave();
        startPictorialSettingsPowerSave();
        startGpsPowerSave();
        startBlackGesturePowerSave();

        mShareUtil.setShare(KEY_FLAG, mPublicFlag);
    }

3. 应用智能省电

主要分为应用冻结,同步唤醒,自启动管理三项应用管控。

解决安装大量第三方应用带来的卡顿和待机发热问题。
实测700多个应用下可以进行合理的管控

应用智能省电

3.1 应用冻结,同步唤醒,自启动管理-UI

自启动管理.png

3.2 应用冻结,同步唤醒,自启动管理-功能介绍

  1. 应用冻结:防止应用全家桶或相互唤醒,暗屏4分钟后进行应用的清理和冻结
  2. 同步唤醒:根据当前系统唤醒情况对应用进行批量对齐,最长对齐时长5分钟
  3. 自启动管理:对应用后台启动进行动态监控和唤醒组件的进准阉割

4. 耗电详情

针对 frameworks\base\core\res\res\xml\power_profile.xml 进行校正得到较为准确的耗电数据

耗电详情

5. 省电友好提醒

5.1 低电量提醒

当电量在20%,15%,5%的低电量下会触发低电量提醒

  • 20%的低电量提醒

20

  • 15%的低电量提醒

15

  • 5%的低电量提醒

5

5.2 满电提醒

可以使用 adb shell dumpsys battery set level 100 进行快速调试

100%

5.3 高温自动关机保护

可以使用 adb shell “echo 55> /sys/devices/platform/battery/Battery_Temperature”
进行模拟测试

shutdown

2.省电管理-系统后台省电

2.1 AAL 屏幕省电

主要根据屏幕背光进行省电

2.2 Google Doze 模式优化

主要进行待机的唤醒和jobscheduler管理,主要分为light和deep的两个睡眠模式

2.3 应用限制

主要进行前台进程资源优先,后台进程被限制,adj中级别过低的,会被及时清理

2.4 Google省电模式

网络防火墙管理,主要对后台进程限制过度调用网络资源

2.5 待机省电

优化了lte模式下的省电,防止modem的耗电异常

2.6 背光亮度控制

对高耗电场景尤其是游戏和视频进行无感知的亮度控制

2.7 夜间省电模式

比较普通模式提升1倍的夜间待机时长

2.8 动态进程阻断机制

防止后台进程异常启动

2.9 PPS帧率控制

针对界面级进行帧率控制,尤其是游戏的动态场景

2.10 CPU场景控制

针对界面级和常用场景进行CPU核数和频率的控制,个别情况下可以适当修改CPU电压改善功耗异常

2.11 SW转换为HW解码

部分视频白名单进行硬解码,达到省电效果

2.12 智能后台管理

常用应用后台正常运行,即使白名单应用如果长期不使用也会被kill

3.省电管理-后续方向

针对7万个应用进行分类并记录应用使用情况,场景化优化,例如不同场景进行帧率和CPU、分辨率控制等等

猜你喜欢

转载自blog.csdn.net/su749520/article/details/81216628
今日推荐