![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
电源管理
文章平均质量分 86
王沫沫
这个作者很懒,什么都没留下…
展开
-
android button light 流程分析(二) — HAL & JNI
buttonandroidkeyboard代码分析jniresources一、基础数据信息首先看一下HAL定义的light类型:[cpp] view plaincopy/** * The id of this module */ #define LIGHTS_HARDWARE_MODULE_ID "lights" /* * These light转载 2013-08-21 09:20:36 · 877 阅读 · 0 评论 -
android 休眠唤醒机制分析(三) — suspend
androidlisttransitionfilesystemsstructsystem前面我们分析了休眠的第一个阶段即浅度休眠,现在我们继续看休眠的第二个阶段 — 深度休眠。在深度休眠的过程中系统会首先冻结所有可以冻结的进程,然后依次挂起所有设备的电源,挂起顺序与设备注册的顺序相反,这样保证了设备之间电源的依赖性;直至最后进入省电模式,等待用户或者RTC唤醒;在唤醒过程中则会按照设备注册的顺转载 2013-08-21 09:27:35 · 731 阅读 · 0 评论 -
android button light 流程分析(一) — driver
buttonandroidstructdelaymodulelist一、led-classled-class是button light driver的核心层,代码位于drivers/leds/目录下,提供了一些数据结构和接口,其中创建了一个leds设备类,用于管理系统所有的led,代码如下:[cpp] view plaincopystatic int __ini转载 2013-08-21 09:22:25 · 656 阅读 · 0 评论 -
android button light 流程分析(三) — framework
buttonandroidkeyboard代码分析jniresources一、初始化信息首先看看Android中的几种电源状态定义,这几个值定义了不同的led开闭状态以及lcd背光的不同亮度模式:[java] view plaincopy// flags for setPowerState private static final int SCREEN_O转载 2013-08-21 09:18:03 · 825 阅读 · 0 评论 -
android 休眠唤醒机制分析(一) — wake_lock
androidstructlisttimertreeuserAndroid的休眠唤醒主要基于wake_lock机制,只要系统中存在任一有效的wake_lock,系统就不能进入深度休眠,但可以进行设备的浅度休眠操作。wake_lock一般在关闭lcd、tp但系统仍然需要正常运行的情况下使用,比如听歌、传输很大的文件等。本文主要分析driver层wake_lock的实现。一、wake_lock转载 2013-08-21 09:25:05 · 736 阅读 · 0 评论 -
android 休眠唤醒机制分析(二) — early_suspend
androidstructlisthibernate工作newlineearly_suspend是Android休眠流程的第一阶段即浅度休眠,不会受到wake_lock的阻止,一般用于关闭lcd、tp等设备为运行的应用节约电能。Android的PowerManagerService会根据用户的操作情况调整电源状态,如果需要休眠则会调用到HAL层的set_screen_state()接口,在se转载 2013-08-21 09:26:43 · 614 阅读 · 0 评论 -
PowerManager简介
android.os.PowerManager通过PowerManager类我们可以对设备的电源进行管理。对该类API的使用将影响到电池寿命。只有在必须使用WakeLocks的时候,才使用WakeLocks,且在不使用它的时候要及时释放(release).图一: 默认情况下,当用户对手机有一段时间没有操作后,手机的Keyboard(这里不仅仅指硬键盘,还包括其他的所有键翻译 2013-08-21 09:57:12 · 556 阅读 · 0 评论 -
Android的电源管理
总体上来说Android的电源管理还是比较简单的,主要就是通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理架构图如下: (注该图来自Steve Guo) 接下来我们从Java应用层面, Android framework层面, Linux内核层面分别进行详细的讨论:应用层的使用:Android提供了现成android.os.PowerMa转载 2013-08-21 09:33:06 · 965 阅读 · 0 评论 -
Android 内核驱动——电源管理
1.1基本原理Android 中定义了几种低功耗状态:earlysuspend,suspend,hibernation。 earlysuspend 是一种低功耗的状态,某些设备可以选择进入某种功耗较低的状态,比如LCD 可以降低亮度或灭掉; suspend 是指除电源管理以外的其他外围模块以及 cpu 均不工作,只有内存保持自刷新的状态; hibernation 是指原创 2013-08-21 19:17:55 · 897 阅读 · 0 评论