android電源管理 - OFweek電子工程網

2021-01-10 OFweek維科網

  Android 的電源管理也是很重要的一部分。比如在待機的時候關掉不用的設備,timeout之後的屏幕和鍵盤背光的關閉,用戶操作的時候該打開多少設備等等,這些都直接關係到產品的待機時間,以及用戶體驗。

  framework層主要有這兩個文件:

  frameworks\base\core\java\android\os\PowerManager.java

  frameworks\base\services\java\com\android\server\PowerManagerService.java

  其中PowerManager.java是提供給應用層調用的,最終的核心還是在PowerManagerService.java。這個類的作用就是提供PowerManager的功能,以及整個電源管理狀態機的運行。裡面函數和類比較多,就從對外和對內分兩塊來說。

  先說對外,PowerManagerService如何來進行電源管理,那就要有外部事件的時候去通知它,這個主要是在frameworks\base \services\java\com\android\server\WindowManagerService.java裡面。 WindowManagerService會把用戶的點擊屏幕,按鍵等作為user activity事件來調用userActivity函數,PowerManagerService就會在userActivity裡面判斷事件類型作出反映,是點亮屏幕提供操作,還是完全不理會,或者只亮一下就關掉。供WindowManagerService調用的方法還有gotoSleep和其他一些獲取電源狀態的函數比如screenIsOn等等。

  在說對內,作為對外接口的userActivity方法主要是通過setPowerState來完成功能。把要設置的電源狀態比如開關屏幕背光什麼的作為參數調用setPowerState,setPowerState先判斷下所要的狀態能不能完成,比如要點亮屏幕的話但是現在屏幕被lock了那就不能亮了,否則就可以調用Power.setScreenState(true)來透過jni跑到driver裡面去點亮屏幕了。

  而電源的狀態循環則主要是通過Handler來實現的。PowerManagerService在init裡面會啟動一個HandlerThread一個後臺消息循環來提供任務的延遲發送,就可以使用Handler來在定製推遲某一任務的執行時間,從而實現狀態機的循環。比如timeout,一段時間之後無操作要讓屏幕變暗,然後關閉,反映在代碼裡如下:

  userActivity裡面在調用setPowerState之後會用setTimeoutLocked來設置timeout。然後在 setTimeoutLocked裡面會根據當前的狀態來計算下一個狀態以及時間,判斷完再調用 mHandler.postAtTime(mTimeoutTask, when)來post一個TimeoutTask。這樣在when毫秒後就會執行TimeoutTask。在TimeoutTask裡面則根據設定的狀態來調用setPowerState來改變電源狀態,然後再設定新的狀態,比如現在是把屏幕從亮改暗了,那就再用 setTimeoutLocked(now, SCREEN_OFF)來等下把屏幕完全關掉。如果這次已經是把屏幕關了,那這輪的timeout狀態循環就算是結束了。

  如果要定製的話,比如需求是在timeout屏幕關掉之後還要再關掉一些外圍設備等等,那就在TimeoutTask裡面把屏幕關掉之後再加上關閉其他設備的代碼就好了。即使新的狀態需求完全和原來的不一樣,用Handler應該也不難。邏輯理清了把代碼擺在合適的地方就好了。

 

相關焦點

  • 芯朋微 電源管理晶片實現進口替代
    來源:中國證券報·中證網無錫芯朋微電子股份有限公司(簡稱「芯朋微」)近日回復了科創板上市申請的首輪問詢,涉及公司是否為終端客戶相關產品的重要供應商,在終端客戶同類產品的採購佔比等。芯朋微專注電源管理晶片的研發和銷售,產品批量實現進口替代。
  • WinCE電源管理的實現
    電源管理的目的是節能,基本的節能方法是使系統適時的進出休眠狀態.比如用戶按下On/Off按鈕,或者監視用戶活動的定時器超時,或者應用呼叫api都可以使得系統休眠,用戶再次按下On/Off或者其他喚醒中斷將使得系統退出休眠.從而可見,電源管理模塊和用戶活動情況密不可分,電源管理是用戶活動所驅動的.
  • 東莞市融貫電子科技有限公司生產的(移動電源)萌小丫1號移動電源不...
    市場監管總局要求,針對本次產品質量國家監督抽查發現的問題,各省、自治區、直轄市及新疆生產建設兵團監管局(廳、委)要按照《中華人民共和國產品質量法》、《產品質量監督抽查管理辦法》等規定,認真做好後處理工作。  對於本次抽查中發現問題的生產企業,特別是拒絕接受監督抽查的企業和連續抽查不合格的企業,要依法嚴肅處理。
  • 能量收集源中的電源管理解決方案
    能量收集源中的電源管理解決方案 電子設計 發表於 2019-02-28 08:38:00 為從環境中收集能量的源設計電源管理系統可能具有挑戰性。
  • com.android.systemui已停止是什麼意思 怎麼解決
    com.android.systemui已停止是什麼意思 怎麼解決 來源:www.18183.com作者:皮卡時間:2016-01-20 我們如果需要解決手機使用中出現com.android.systemui已停止運行的問題,那麼我們首先要搞清楚com.android.systemui
  • 宏達電子:公司對十四五規劃已經啟動 重點布局MLCC/SLCC/電源模塊...
    公司未來幾年的業績增長主要還是取決於高可靠客戶項目推進進度、電子元器件國產化替代程度以及高可靠行業信息化、智能化建設情況等。宏達電子稱,公司對十四五的規劃已經啟動,在高可靠領域持續保持高可靠性鉭電容器的市場龍頭地位的同時,會根據不同子公司的發展速度,重點投入MLCC、SLCC、電源模塊和組件類產品。
  • 電子束焊機用高壓電源的應用及發展趨勢
    國產電子束焊機經過二十多年的發展,在技術及可靠性方面雖已有了極大的提高,但與西方發達國家的電子束應用技術相比還有很大的差距,特別是在高壓電源的製造及控制技術方面尤其如此(目前我國還不能生產150kV高壓型電子束焊機)。由於高壓電源在電子束焊機中舉足輕重,為此國外的電子束焊接設備製造公司專門成立研究開發機構,以滿足電子束技術發展的需要。
  • 武漢三鄉工程網社區行走進漢廣社區 帶市民「雲遊」美麗鄉村
    目前,武漢三鄉工程網已收錄武漢市內超過6萬套農房、6000+以上的共享農莊和民宿信息,還有各區的著名遊玩景點、採摘園信息,通過條件篩選和關鍵詞搜索,市民可以快速找到想要的信息。如果看中了,武漢三鄉工程網將提供實地看房服務,幫助市民實現鄉居夢想。03 鄉村大變樣,直播帶看房在美麗鄉村展示位,視頻中循環展現著武漢美麗鄉村的宣傳視頻。廁所革命、垃圾分類、汙水治理……經過整改治理,武漢鄉村已經不是以往髒亂差的老形象。
  • 汽車電子領域車用USB Type-C電源系統解決方案
    汽車電子領域車用USB Type-C電源系統解決方案 ADI 發表於 2020-12-25 14:27:22 最近幾年,越來越多的智慧型手機、筆記本電腦、平板等可攜式電子設備開始採用
  • 【解密】TCL華星電源管理為顯示設備保駕護航;芯穎科技「顯示屏...
    1、【專利解密】TCL華星電源管理為顯示設備保駕護航【嘉德點評】TCL華星的電源管理晶片及顯示裝置專利,通過增加對輸入電壓的檢測,當電壓異常下降又迅速恢復時集微網消息,近日,聯發科併購英特爾旗下的電源管理晶片產品線,使得電源管理市場再次加速整合,這其中就包括TCL華星光電,其雖積極布局顯示面板等領域,但仍會根據市場和面板需求,在顯示面板研發時不斷優化電源管理晶片。
  • 電源IC下一個風口:TWS真無線耳機充電盒電池管理晶片!
    充電盒裡面主要元器件由電源管理晶片、電池、Pogo Pin頂針等組成,其中電源管理晶片有多種類型,如常見的SOC多合一單晶片、SOC+MCU的智能晶片、獨立充電和獨立升壓晶片。以上三種類型,涵蓋了充電盒主要電源架構和管理方式。TWS真無線耳機年出貨量過億臺,這也意味著這個市場是一塊不錯的蛋糕。
  • 天津麒麟公司實現飛騰1500A平臺的電源管理技術
    近日,天津麒麟信息技術有限公司在銀河麒麟作業系統上實現了基於飛騰1500A平臺的電源管理技術,並結合技術狀態定義了軟硬體開發接口規範,用於指導硬體廠商的方案和主板設計。電源管理技術以ACPI標準為基礎,結合飛騰處理器的特性,實現休眠、待機以及運行時的動態頻率調節功能。
  • 電源開關應該裝在哪條線上 電源開關什麼品牌好
    在電源開關的安裝過程中,要考慮清楚各種不同品牌的類型、使用質量和產品效果等等,可是大多數人對於這些方面都是一竅不通,沒有經過專業的訓練,而且也沒有動手實踐過。這時可以了解電源開關應該裝在哪條線上以及電源開關什麼品牌好,然後有專業的人員來幫助,那麼安裝就會更安全。
  • Android - android xml 層級專題及常見問題 - CSDN
    TextView 對象上使用資源 ID 來設置文本,具體如下:TextView msgTextView = (TextView) findViewById(R.id.msg);msgTextView.setText(R.string.hello);實例考慮如下定義的布局 res/layout/activity_main.xmlandroid
  • Android的內部存儲和外部存儲
    外部存儲: 1.需要權限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 2.分為文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴
  • android 布局 覆蓋 - CSDN
    項目中listview中嵌套checkbox,將父控制項設置為android:descendantFocusability="blocksDescendants",這樣設置為的是:會覆蓋子類控制項而直接獲得焦點,即點擊listview的item區域即可選中checkbox。
  • ThinkPad電源管理軟體(PowerManager)安裝過程報錯怎麼辦
    ThinkPad電源管理軟體(PowerManager)安裝過程報錯怎麼辦  ThinkPad電源管理軟體(PowerManager)安裝過程報錯的解決辦法如下:  在微軟網站下載 「vcredist_x86.exe」程序安裝後,故障現象排除。
  • 華碩電神5000迎升級 新增電源管理APP
    此次升級引入了名為Asus Power Master的電源管理APP。本文屬於原創文章,如若轉載,請註明來源:華碩電神5000迎升級 新增電源管理APPhttp://mobile.zol.com.cn/640/6409465.html http://mobile.zol.com.cn/640/6409465.html mobile.zol.com.cn true 中關村在線
  • 軍用車載UPS電源系統敲開軍用電源市場大門
    軍用車載UPS電源系統敲開軍用電源市場大門。有電的地方就一定要用到電源,武器裝備也不例外。軍用車載UPS電源設備作為一類十分常見、且廣泛應用的產品,對軍事電子裝備的整體性能和品質水平有著重要的影響。軍用車載電源管理系統供電分析軍用車載式UPS電源系統是為軍事領域各種車載電子信息裝備提供電能的系統。各種軍用車輛對車載電源系統的要求主要包括:環境適應性、電磁兼容性、體積、重量、供電質量、供電時間、負載能力、安裝方式等。
  • MOSFET,電源設計中最容易被工程師忽視的電子元器件
    在電源設計中,MOSFET往往是最容易被工程師忽視的電子元器件。MOSFET是電源設計中必不可少的一種電子元器件,大部分工程師對MOSFET的使用普遍停留在MOSFET元器件的一些基本參數,比如Vds,Id,Rds(on),零件封裝。