日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

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

發布時間:2025/3/17 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android系统自动休眠代码流程,Android P 电源管理(4)待机流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

電視遙控器,短端走待機(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系統狀態改變。

--> updateSuspendBlockerLocked()

reallyGoToSleepNoUpdateLocked() //更新屏保狀態,發現是DOZE狀態后,會調用這個接口。

--> setWakefulnessLocked(WAKEFULNESS_ASLEEP)

updatePowerStateLocked()

--> updateDisplayPowerStateLocked()

--> updateDreamLocked()

--> finishWakefulnessChangeIfNeededLocked()

-->mNotifier.onWakefulnessChangeFinished() //通知AMS, WMS系統狀態改變。

--> updateSuspendBlockerLocked() //釋放系統鎖,進入待機。

-->setHalAutoSuspendModeLocked()

android p待機流程.png

待機喚醒

喚醒支持不同的喚醒源,網絡待機喚醒,Power按鍵喚醒,CEC喚醒等,部分流程有抽象和實際可能會有差異。

android p喚醒.png

待機時候應用處理

藍牙,WiFi,媒體中心等模塊在待機的時候,如果需要釋放資源,可以先獲取并持有wakelock,等釋放完資源后在釋放wakelock。

總結

以上是生活随笔為你收集整理的android系统自动休眠代码流程,Android P 电源管理(4)待机流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。