android - Android 唤醒锁在打盹模式后仍然存在?
问题描述
我正在尝试在我的应用程序在后台运行时模拟打盹模式。
发生的情况是线程将继续运行,即使设备已进入打盹模式。文档指定忽略唤醒锁,那么为什么 cpu 仍然打开?
测试: 带有 Api 27 的模拟器
JobScheduler jobScheduler = (JobScheduler)getApplicationContext()
.getSystemService(JOB_SCHEDULER_SERVICE);
ComponentName componentName = new ComponentName(this, MyJob.class);
JobInfo jobInfo = new JobInfo.Builder(1, componentName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.build();
jobScheduler.schedule(jobInfo);
服务
public class MyJob extends JobService {
static public int var=0;
@Override
public boolean onStartJob(final JobParameters jobParameters) {
new Thread(new Runnable() {
@Override
public void run() {
while(true) {
Log.d("Counter",var+++"");
}
}
}).start();
return true;
}
壳:
adb shell dumpsys deviceidle force-idle
解决方案
推荐阅读
- r - 仅选择数据框中与 R 中的另一个数据框具有相同列名的列
- bash - 重命名文件和 Zip 文件夹的 Bash 脚本
- windows - 通过 WinSCP 使用 PuTTY 时如何选择要连接的自定义端口
- python - 如何使用正则表达式从文件中复制部分?
- c - 为什么 sigaction 处理程序中的上下文是 void 指针?
- google-maps - 谷歌地图+货币转换器特殊字符问题
- css - 当容器具有 display:block 属性时,溢出-x:auto 停止工作
- java - Java多态练习
- slim-3 - Slim 3 双输出使用自己的视图文件
- java - org.openqa.selenium.NoSuchElementException:无法定位元素错误