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

本文详细介绍了Android P系统的自动待机过程,从代码层面分析了待机的各个步骤,包括`goToSleepInternal()`、`setWakefulnessLocked()`等关键函数的作用,以及如何通过更新显示电源状态和屏保来实现系统休眠。此外,还提到了待机唤醒的多种来源和待机时应用如何处理资源释放。
摘要由CSDN通过智能技术生成

电视遥控器,短端走待机(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系统状态改变。

--&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值