android系统自动休眠代码流程,Android P 电源管理(4)待机流程

  • Post author:
  • Post category:其他


电视遥控器,短端走待机(str待机)流程, 长按是关机,走关机流程,记录下待机流程。

参考博客

待机流程

Android P引入自动待机功能,只有存在WakeLock,wakeup_count就不会为0,每次acquire wake_lock会让wakeup_count加1,而release wake_lock会让wakeup_count减1,当wakeup_count为0则autosuspend会重新待机下去

相关代码

frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java

hardware/interfaces/power/1.0/default/Power.cpp

hardware/realtek/power/power.cpp

hardware/realtek/power/power.cpp

代码流程

goToSleepInternal()

–>goToSleepNoUpdateLocked()

–>setWakefulnessLocked(WAKEFULNESS_DOZING);

updatePowerStateLocked()

–> updateDisplayPowerStateLocked() //关闭屏幕

–> updateDreamLocked() //更新屏保状态

–> finishWakefulnessChangeIfNeededLocked()

–>mNotifier.onWakefulnessChangeFinished() //通知AMS, WMS系统状态改变。

–&