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等。