簡體   English   中英

android設備什么時候進入睡眠模式?

[英]When does android device go to sleep mode?

我正在搜索 SO 和網絡,但我無法為我的特定問題找到足夠的答案。 好的,我們開始:

每個用戶都可以在 android 上修改屏幕超時。 (當屏幕閑置 __ 秒/分鍾時關閉 - 用戶選擇)。 但是用戶只能修改屏幕超時,而不能在設備實際進入睡眠狀態時修改。 我在這里發現當設備進入睡眠狀態時會發生什么:(CommonsWare 的回答非常好) Android 睡眠/待機模式

好吧,我的問題很簡單。 我怎么知道我的手機什么時候會進入睡眠狀態? 關閉屏幕后會立即進入睡眠狀態嗎? 屏幕關閉后它會保持“清醒”一段時間嗎? 最重要的是:特定設備的睡眠模式是否因品牌設備而異(制造商如何實現這一點)或取決於 ROM 版本(例如,所有 ICS 供電設備將在屏幕關閉 X 秒后進入睡眠狀態)?

您永遠無法確定設備是否已進入睡眠狀態。 充其量,我可以給你一個確保設備沒有進入睡眠狀態的清單:

  • 屏幕開啟 - 需要 CPU 和 GPU 以及 RAM 才能保持活動狀態
  • 任何持有喚醒鎖的應用程序——即使是最低的喚醒鎖也能保持 CPU 開啟,但屏幕可能會關閉

除此之外,即使沒有保持喚醒鎖,也不能保證設備會在屏幕關閉后n秒進入睡眠狀態。 這取決於 OEM,他們可以改變這一點。

請記住,Android 設備可以選擇在屏幕進入睡眠狀態后讓設備在一定時間內保持解鎖狀態。

將手機與筆記本電腦進行比較時,功耗差異很小。 大多數情況下,筆記本電腦通過充電器直接供電。 (大多數情況下,我們用筆記本電腦充電)。 手機大多靠電池供電。 (我們很少隨身攜帶充電器)。

牢記這一點,android 的設計方式是,如果用戶不與手機交互,手機將不會消耗電池電量。 這是為了增加用戶的電池備份時間。

這就是為什么當 LCD 屏幕電源關閉時(這意味着用戶沒有與手機交互),CPU 也會在幾秒鍾內進入一種模式(睡眠模式),在這種模式下它所做的工作最少並節省電池電量。 當 CPU 處於睡眠模式時,它只接受來自 RIL(無線電接口層)的命令,它基本上是 SMS 和呼叫功能以及警報。 除了這個 CPU 將停止執行其他應用程序功能。

注意:如果任何應用程序在 CPU 處於睡眠模式時需要 CPU 時間用於其緊急工作,那么它可以使用 WAKE LOCKS 請求 CPU 時間。

例如:即使用戶關閉了 LCD 屏幕,MP3 應用程序也必須繼續在其服務中播放歌曲。 這意味着 MP3 應用程序的服務已使用 WAKE LOCKS 請求 CPU 時間。

你的問題:我怎么知道我的手機什么時候會進入睡眠狀態? -:很簡單,當 LCD 電源關閉時,它會在幾秒鍾內進入睡眠模式。

您的問題:特定設備的睡眠模式是否因品牌設備而異 -:由於 android 是開源的,任何 OEM 都可以采用驅動程序層,這是 GPU 許可證,並且可以修改電源管理器驅動器以使其表現不同。 所有這些睡眠模式和喚醒鎖最終都在 Linux 內核層的 Power manager 驅動程序的控制之下。

要在 Android 6.0 中測試睡眠模式/打瞌睡,您應該使用以下命令:

$ adb shell dumpsys battery unplug
$ adb shell dumpsys deviceidle step

更多信息請參見此處: 優化打盹和應用待機

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM