Android电源管理文件组织结构.docx_第1页
Android电源管理文件组织结构.docx_第2页
Android电源管理文件组织结构.docx_第3页
Android电源管理文件组织结构.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android PM ArchitectureAndroid的电源管理主要是通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理架构图如下:电源管理模块分为四大部分:应用层,框架层,HAL层和Kernel层。应用层:这里所谓的应用层主要是指应用程序和其他使用电源管理的Service,包括但不限于以下Services:frameworks/base/services/java/com/android/server/WindowManagerService.javaframeworks/base/services/java/com/android/server/Watchdog.javaframeworks/base/services/java/com/android/server/HeadsetObserver.javaframeworks/base/services/java/com/android/server/WifiService.javaframeworks/base/services/java/com/android/server/AlarmManagerService.java框架层:框架层的电源管理文件主要有:frameworks/base/core/java/android/os/PowerManager.javaframeworks/base/services/java/com/android/server/PowerManagerService.javaframeworks/base/core/java/android/os/Power.javaframeworks/base/core/jni/android_os_Power.cpp其中PowerManagerService.java是核心,Power.java提供底层的函数接口,与JNI层进行交互。PowerManager.java是提供给应用层调用的(图画的有点问题啊)。android_os_power.cpp是jni交互文件。这一层的功能相对比较复杂,比如系统状态的切换,背光的调节及开关,Wake Lock的申请和释放等等,但这一层跟硬件平台无关。具体功能实现以后分析。HAL层:HAL层的文件只有一个:hardware/libhardware_legacy/power/power.c该文件通过sysfs的方式与kernel进行通信。主要功能有申请wake_lock,释放wake_lock,设置屏幕状态等。用户空间的native 库绝不能直接调用Android电源管理(见上图)。绕过Android运行时的电源管理政策,将破坏该系统。所有对电源管理的调用应通过Android的PowerManager APIs来完成。Kernel层:Kernel中电源管理好像有两种实现方法,其电源管理的核心文件是在kernel source tree/kernel/power/文件夹下。按照android的官方说法,在内核电源管理部分增加了一个android的driver文件:kernel source tree/drivers/android/power.c作为底层和sysfs系统之间的通信接口,实现了/sys/state/sys/request_state/sys/acquire_full_wake_lock/sys/acquire_partial_wake_lock/sys/release_wake_lock然而,通过看G6的kernel源代码,并发现没有该文件。而是将电源管理的文件放在了arch目录下,直接与kernel/power/中的模块进行交互,主要文件有:legend-G6 kernel source tree/arch/arm/mach-msm/pm.clegend-G6 kernel source tree/arch/arm/mach-msm/htc_battery.c其与sysfs系统之间的通信接口为:/sys/power/wake_lock/sys/power/wake_unlock/sys/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论