【问题标题】:If an app holds a partial wake lock and the phone is woken up, do other processes get access to the CPU too?如果应用程序持有部分唤醒锁并且手机被唤醒,其他进程是否也可以访问 CPU?
【发布时间】:2013-11-26 23:54:15
【问题描述】:
我的一个长期假设是,当持有WakeLock 时,设备的 CPU 对所有正在运行的进程都是公平的。这个假设成立吗?
例如,假设存在进程 A、B 和 C。手机已经休眠了 4 个小时,这些进程都无法进行工作。突然,进程A 通过AlarmManager 获得WakeLock 并保持3 分钟。在这 3 分钟内,B 和 C 也可以做他们的工作吗?
【问题讨论】:
标签:
android
alarmmanager
wakelock
powermanager
【解决方案1】:
这个假设成立吗?
是的。
在这 3 分钟的时间里,B 和 C 也可以做他们的工作吗?
是的。事实上,这就是SyncManager 之类的具体工作方式,以及为什么 Android 4.4 让您难以执行准确的AlarmManager 时间表。在 AlarmManager 的情况下,对不精确时间表的需求允许 Android 唤醒设备一次并完成大量工作,而不必多次单独唤醒设备。