形象理解android电源管理wakelock状态

wake  醒着 -----sleep  睡眠


wakelock   醒锁,只有有人拿着锁,系统就不能进入睡眠状态(如果没有锁了,就可以睡眠)。类似人要保持清醒状态,不能睡觉。但是清醒时也可以闭着眼,例如在通话中,p-sensor拿到了wakelock,这就要求系统不能休眠(此处是cpu不能休眠:打着电话时手机怎么能休眠呢),但是可以把屏幕关掉(人醒着但闭着眼)


wakelock控制的手机各部位(以人醒着时候的身体各部位状态来比喻):

    private static final int WAKE_BIT_CPU_STRONG = 1;                              心脏强烈跳动
    private static final int WAKE_BIT_CPU_WEAK = 2;                                    心脏跳动
    private static final int WAKE_BIT_SCREEN_DIM = 4;                                眯着眼
    private static final int WAKE_BIT_SCREEN_BRIGHT = 8;                        大睁着眼
    private static final int WAKE_BIT_KEYBOARD_BRIGHT = 16;                 手脚预备
    private static final int WAKE_BIT_PROXIMITY_SCREEN_OFF = 32;      闭着眼,但保持警觉,察觉是否有人靠近



wakelock的几种类型(以人醒着时候的身体各部位状态来比喻):

PARTIAL_WAKE_LOCK                             心脏跳动(cpu strong,因为只从心脏看出是醒着的),闭着眼(screen),手脚放松(keyboard)
SCREEN_DIM_WAKE_LOCK                   心脏跳动(cpu weak),眯着眼(screen),手脚放松(keyboard)
SCREEN_BRIGHT_WAKE_LOCK           心脏跳动(cpu weak),大睁着眼(screen),手脚放松(keyboard)
FULL_WAKE_LOCK                                    保持戒备状态:心脏跳动(cpu weak),大睁着眼(screen),手脚预备(keyboard)


PROXIMITY_SCREEN_OFF_WAKE_LOCK



参考:

http://wenku.it168.com/d_001256472.shtml

http://blog.csdn.net/XSL1990/article/details/17164503

你可能感兴趣的:(android)