我的一个长期假设是,当WakeLock
被保持时,设备的CPU对于所有正在运行的进程来说都是公平的游戏。这个假设是否成立?
例如,假设存在进程A,B和C.手机已经睡了4个小时,这些过程都没能完成。突然,流程A通过WakeLock
获取AlarmManager
并持有3分钟。在这3分钟的时间里,B和C也能做好自己的工作吗?
答案 0 :(得分:1)
这个假设是否成立?
是
在这3分钟的时间里,B和C也能做他们的工作吗?
是。事实上,这就是SyncManager
之类的工作方式,特别是为什么Android 4.4让你很难做出精确的AlarmManager
时间表。在AlarmManager
的情况下,对不精确的时间表的需求允许Android唤醒设备一次并做一堆工作,而不是必须在很多不同的时间唤醒设备。