Android的电源管理框架
Android通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理框架分成五个部分:应用层,framework层,JNI层,HAL层和内核层。电源管理架构图例如以下:
PowerManager类向应用程序提供接口,如Wakelock的acquire, release等,上层应用程序通过这些接口实现电源的管理。
PowerManagerService实现PowerManager的接口,PowerManager通过IBinder訪问PowerManagerService。
PowerManagerService通过JNI訪问底层接口,实现电源状态的监控。
JNI訪问HAL(power.c)调用内核。
HAL层通过sysfs訪问内核提供的电源管理功能。/sys/power/wake_lock, /sys/power/wake_unlock等。