2012-10-04 74 views

回答

7

的Android被分成2層

  • 應用
  • Linux內核

所有低電平訪問硬件,CPU,存儲器用Linux內核來完成。內核反過來將系統調用和驅動程序作爲應用程序與硬件通信的機制。

現在對於任何智能手機來說,電池壽命是最重要的,因此需要電源管理。想法是在活動和待機情況下儘可能減少設備功耗。這將意味着更高的電池壽命。

喚醒鎖是應用程序可以要求系統處於高功率狀態的機制。不同的喚醒鎖使系統的不同部分保持在,例如,屏幕,CPU,鍵盤等。當Android必須進入低功耗狀態時,它會檢查是否有任何喚醒鎖。如果沒有,則進入深度睡眠狀態。因此,應用程序持續太久都不好。

Android控件應該打開哪個設備。特定的設備驅動程序將根據需要打開/關閉。

建議您閱讀this link瞭解更多信息!

+0

感謝您的回覆。但我仍然有幾個問題。你提到「當Android必須進入低功耗狀態時,它會檢查是否有任何喚醒鎖。」在哪裏做它檢查..它是在Linux內核?如何提前暫停和延遲與喚醒連接一起工作? – shinymetal

+0

是的,喚醒鎖在linux內核中。你可以去path/sys/power/wake_lock來查看是​​否有人持有它。任何應用程序最終都會通過API調用寫入此路徑以保持/釋放喚醒鎖。關於提前暫停和遲到的簡歷,它是一個很大的概念,請閱讀我添加到答案中的鏈接。希望能幫助到你! –

+0

謝謝。該鏈接很有幫助。 – shinymetal

3

一個很好的link關於Android的內核電源管理:

解釋如下:

  1. 喚醒鎖定
  2. 類型喚醒鎖定的
  3. PowerManager的類
  4. 註冊與PM驅動程序驅動程序
  5. 提前暫停
+0

該鏈接不工作! – Gomu