Android的休眠唤醒机制wake_lock机制

wakel_lock:Android的一种休眠唤醒机制

使用场景:在LCD或TP关闭的时候,依然需要运行的关键代码,如电量统计、charger探测、音乐播放等,即使在休眠状态下也是需要正常运行的

主要思想:只要系统中存在有效锁,就阻止AP(可认为是ARM处理器)进入休眠状态,即不让处理器挂起,只有系统中所有锁都被释放之后系统才进入休眠状态

分类:suspend休眠锁、Idle空闲锁

底层实现:底层仍然使用驱动来实现该机制,具体参考如下链接

http://blog.csdn.net/g_salamander/article/details/7978772

底层接口:

1.    void wake_lock_init(struct wake_lock *lock, int type, const char *name);  

2.    void wake_lock_destroy(struct wake_lock *lock);  

3.    void wake_lock(struct wake_lock *lock);                                 //激活锁

4.    void wake_lock_timeout(struct wake_lock *lock, long timeout);  

5.    void wake_unlock(struct wake_lock *lock);                               //释放锁

6.    int wake_lock_active(struct wake_lock *lock);  

7.    long has_wake_lock(int type);  

猜你喜欢

转载自blog.csdn.net/zhanghao864442969/article/details/54914982