android 睡眠唤醒机制
manshq163com
这个作者很懒,什么都没留下…
展开
-
android 休眠唤醒机制分析(二) — early_suspend
early_suspend是Android休眠流程的第一阶段即浅度休眠,不会受到wake_lock的阻止,一般用于关闭lcd、tp等设备为运行的应用节约电能。Android的PowerManagerService会根据用户的操作情况调整电源状态,如果需要休眠则会调用到HAL层的set_screen_state()接口,在set_screen_state()中会向/sys/power/state节点转载 2014-01-24 10:05:56 · 644 阅读 · 0 评论 -
Android电源管理
Android电源管理 2013-5-17阅读234 评论0 一、Android的电源管理部分文件路径如下: frameworks/base/core/java/android/os/PowerManager.java PowerManager类被APP调用,控制电源设备状态切换等 frameworks/base/services/java/com/android/server/转载 2014-01-24 11:59:49 · 543 阅读 · 0 评论 -
android 休眠唤醒机制分析(一) — wake_lock
Android的休眠唤醒主要基于wake_lock机制,只要系统中存在任一有效的wake_lock,系统就不能进入深度休眠,但可以进行设备的浅度休眠操作。wake_lock一般在关闭lcd、tp但系统仍然需要正常运行的情况下使用,比如听歌、传输很大的文件等。本文主要分析driver层wake_lock的实现。 一、wake_lock 定义和接口 [cpp] view转载 2014-01-24 10:00:51 · 721 阅读 · 0 评论 -
android 休眠唤醒机制分析(三) — suspend
前面我们分析了休眠的第一个阶段即浅度休眠,现在我们继续看休眠的第二个阶段 — 深度休眠。在深度休眠的过程中系统会首先冻结所有可以冻结的进程,然后依次挂起所有设备的电源,挂起顺序与设备注册的顺序相反,这样保证了设备之间电源的依赖性;直至最后进入省电模式,等待用户或者RTC唤醒;在唤醒过程中则会按照设备注册的顺序依次恢复每个设备的电源进入正常工作状态,解冻相关的进程,然后再进行浅度休眠的唤醒流程。转载 2014-01-24 11:58:40 · 667 阅读 · 0 评论 -
android的wake_lock介绍
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠, 可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的, 超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就 会启动休眠的那套机制来进入休眠. (一).内核维护了: 1).两个链表,active_wake_locks[WAKE_LOCK_TYPE_COUNT] active转载 2014-01-24 09:59:07 · 756 阅读 · 0 评论