目前大部分应用都会通过AlarmManager设置 alarm 来定时或周期唤醒系统来做一些操作。这种随机的 alarm 唤醒会增加系统的待机功耗。所以平台厂商为了功耗优化,一方面禁止了非白名单的第三方应用在系统休眠时唤醒系统,一方面做了心跳对齐的机制(即将这些唤醒时间杂乱的alarm修改为统一时间唤醒)。
当然Android M开始也引入了Doze机制,Doze机制的白名单和平台的Alarm白名单最好都配置上对应的包名。
展讯平台
修改路径:vendor\sprd\platform\frameworks\native\data\etc\appPowerSaveConfig.xml
在配置文件中添加应用包名
1 |
|
- optimize 对应是否对该应用进行省电优化的总开关,0 为不优化,1 为优化
- alarm 对应待机唤醒优化,0 对应自动,1 对应优化,2 对应不优化
- wakelock 对应待机休眠优化,0 对应自动,1 对应优化,2 对应不优化
MTK平台
修改路径:frameworks/base/core/java/com/mediatek/amplus/config/alarmplus.config
如果没有该文件就创建一个,在配置文件中添加应用包名
1 |
|
另外将该文件拷贝到system/etc下
1 |
|