从here中我可以理解,每个应用程序都可以获取自己的唤醒锁并相应地释放它。这些是与每个唤醒锁相对应的CPU和屏幕状态。
| Flag Value | CPU | Screen | Keyboard |
-----------------------------------------------------
| PARTIAL_WAKE_LOCK | On | Off | Off |
| SCREEN_DIM_WAKE_LOCK | On | Dim | Off |
| SCREEN_BRIGHT_WAKE_LOCK | On | Bright | Off |
| FULL_WAKE_LOCK | On | Bright | Bright |
考虑一个应用程序(例如Facebook)获得SCREEN_BRIGHT_WAKE_LOCK
而另一应用程序(例如Gmail)获得FULL_WAKE_LOCK
的情况,如何最终确定屏幕状态?屏幕是打开还是关闭?一个应用程序可以获取多个应用程序吗?它会认为是所有价值中最高的吗?