-
Notifications
You must be signed in to change notification settings - Fork 136
进阶用法 动态响应配置
kuanglinfei edited this page Aug 3, 2018
·
4 revisions
动态响应功能需要保证微工具箱一直处于后台运行状态。
且手机界面上的悬浮窗(如悬浮球、性能监视器、边缘手势、加速球等)会一直被认为是前台应用,导致无法判定当前实际的前台应用,从而导致动态响应功能失效,因此你需要把悬浮窗应用添加到“忽略列表”。
同样,分屏也会影响动态响应的效果
本篇介绍:自定义你的“动态响应”模式配置文件
- “微工具箱”目前内置了 骁龙系列(625,820,821,835)以及Exynos系列(8890)的专属动态响应配置。但是,如果你的设备不属于上述Soc,或者你希望自定义配置文件的话,可参考下面的步骤。
- 工作原理:工具箱首先会检查
/data/powercfg.sh
是否存在,如果存在则直接使用,如果不存在才会检测是否有内置的配置文件可用(兼容性检测),因此你只需要自行提供这个文件,即可跳过兼容性检测。
- 创建脚本文件,格式如:配置格式示例。
注意:linux对脚本编码格式非常敏感,你的脚本文件必须是unix编码,关于如何更改文件编码,可参考:Unix编码 - 复制到
/data
目录,文件命名为powercfg.sh
,设置权限为755
- 激活微工具箱的辅助功能(一般在“设置”-“无障碍”里面,或者,在工具箱主界面点击右上角的齿轮按钮,在“微工具箱增强服务”界面内,点击顶部的按钮也可快速跳转到辅助功能设置。
- 在确保辅助服务已启动后,将“微工具箱增强服务”界面的动态响应功能开启。
- 回到微工具箱主界面,打开左侧抽屉导航栏,点击“性能配置”即可为每个应用单独选择运行模式。
- 预运行脚本:除了
/data/powercfg.sh
外,微工具箱还会在加载配置阶段首先执行/data/powercfg-base.sh
,因此你可以将一些只需要执行一次的优化代码写到/data/powercfg-base.sh
,这个文件只需要按照普通脚本的格式编写即可。
- 工作原理:微工具箱通过
getprop ro.board.platform
获取soc信息,并检查应用包assets目录下是否有同名的配置文件夹,你可以通过adb
命令或终端模拟器
执行该命令,来查看你的设备soc名称。
- 解压微工具箱apk文件,进入assets目录。可以看到,里面已经有msm8896、msm8898、exynos5等文件夹,这是为不同soc定制的性能配置文件。除此外,还有一个
powercfg-template
文件夹,这就是预先准备好的配置模板,你可以在模板的基础上加以修改,根据你的调频代码编写经验,或者参考其它soc的配置代码。 - 微工具箱允许你定义两组配置文件,用户可以在“性能配置-设置”里切换配置文件。
powercfg-base-default.sh、powercfg-default.sh
理解为“偏重省电”选项的配置,powercfg-base-bigcore.sh、powercfg-bigcore.sh
为“性能优先”的配置。powercfg-base-*.sh
只在微工具箱刚刚启动动态响应时执行一次,常用于放一些基础优化脚本。而powercfg.sh
才是主要配置,用于模式切换。 - 按照soc名称放置配置文件,如:骁龙820设备执行
getprop ro.board.platform
显示msm8996
,因此配置文件放在assets/msm8898
目录中 - 重新打包(使用zip方式压缩即可,压缩完后.zip后缀改为.apk),对apk进行签名,然后安装即可。后续使用方式参考 方式1 的 步骤3-5。