Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 與android wifi 電流相關的點

與android wifi 電流相關的點

編輯:關於Android編程

最近要更換平板電腦中wifi的firmware,所以老是在和wifi連接後的電流打交道,現在總結一下。     wifi連接後,當平板電腦滅屏以後,根據Settings中配置的休眠策略,wifi可能會斷開連接。   當在Settings中配置休眠策略為“始終連接”時,wifi在平板滅屏後,不會斷開連接,這樣可能會有app在後台進行通信,   導致平板無法休眠,電流就比較高。   當在Settings中配置的休眠策略為“斷開連接”時,wifi會在平板滅屏17分鐘後斷開連接,這17分鐘是這麼定下來的,在   第15分鐘的時候,wifi service會判斷當前是不是“緊急呼叫模式”(電話會有),如果是,就立即斷開連接;如果不是,   則在2分鐘後斷開連接。但是是否能夠斷開連接還需要看當前是否有app會拿著wifi wake lock,如果有app持有這個鎖,   當前也無法斷開連接。這樣也會導致電流比較高。     在滅屏與斷開連接之間的十幾分鐘內,如果是正常情況下,當平板的cpu休眠後,平均電流應該只比不打開wifi的情況高   1ma(這個值是wifi芯片休眠電流);但是經常在這種情況下測量的平均電流值會比1ma要高,這就需要我們分析原因了。   在此記錄下與此時電流有關的一些點,可能還不完全,以後如果再發現了,再進行補充。   1.wifi firmware       wifi firmware 是與wifi休眠時候電流高關系最大的一個,而且由於我們無法知道裡面的邏輯,所以只能請求廠家   進行支持。   2.dtim值       dtim值會影響wifi firmware起來接收beacon報文的行為,它代表wifi芯片會每隔幾個beacon的時間間隔醒來接收   一次beacon報文,一般設置為3。如果dtim值設置較小,比如為1,wifi芯片就會醒來比較頻繁,導致電流比預計的要高;   如果dtim值設置較大,比如5,可能會導致當wifi休眠後丟包比較嚴重,比如你去ping平板,可能會有ping不通的現象。   3.SDIO引腳       wifi芯片的SDIO引腳配置錯誤也會導致在休眠後電流較高,所以需要檢查SDIO是否配置正確,當休眠的時候,   引腳是不是錯誤的被拉高或者拉低。(這一項我也不太明白,需要以後再學習一下)   4.gsf       gsf是google的服務框架,它在wifi連接和未連接兩種情況下的行為是不一樣的。如果wifi連接,它會每隔一段時   間就喚醒一次cpu,嘗試去連接google的服務器,也會導致平均電流較高。   5.其他app       如果有app持有rtc_wakeup的定時器,此app也會喚醒cpu進行操作,導致平均電流較高。  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved