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

本文详细解释了WakeLock机制的工作原理,包括其如何控制设备不同部分的状态以维持特定操作的运行,比如保持CPU活跃、调整屏幕亮度等。同时,通过人体各部位的状态比喻,形象地介绍了WakeLock的不同类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/XSL1990/article/details/17164503

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值