1. 程式人生 > >Android 電池壽命優化

Android 電池壽命優化

Contents

電池壽命優化... 1

Lazy First 1

平臺功能... 1

工具... 2

 

池壽命優化

電池壽命是手機使用者體驗中最重要的一件事情。沒有電,任何應用都無法工作。所以,確保應用盡最大可能保證電池壽命是至關重要的事情。

保證應用節約用電的三個重要事情:

Lazy First

讓你的應用Lazy First就是減少或優化那些耗電的操作。Lazy First設計的根本問題就是:

  • 降低:你的應用能夠砍掉多餘的操作嗎?例如,能否把下載的資料cache起來,而不用總是喚醒手機重新下載資料?
  • 延時:應用真的需要使用者馬上做出迴應嗎?例如,能否等到手機連上電源後再把資料上傳到雲端?
  • 合併:能夠把工作捆綁到一起,而不總是把應用放入啟用狀態?例如,真的需要讓幾十個應用各自在不同的時間開啟資料網路傳送訊息嗎?能不能讓這些訊息在一個特定網路開啟的時間段執行?

當你的應用需要用到CPU,螢幕和網路的時候,考慮以上幾點。Lazy First設計能夠很好的抑制這些電老虎。

為了最大化電池壽命,並幫你更高效地完成這些,Android平臺為你提供了一系列功能。

平臺功能

一般的說,為了應用的電池優化,Android平臺提供了兩類方法。第一,它為你的應用提供了一些API。請看Intelligent job 排程。

平臺中有一些內部機制幫助節約電池。儘管這些不是程式設計可實現的API,但瞭解這些有利於你的應用在其基礎上更好的工作。更多資訊請看:

  • Doze和應用standby
  • 應用待機群組。系統基於應用的使用頻率為應用分配不同的群組。
  • 後臺限制。如果應用表現出不好的行為,系統提示使用者限制其對系統資源的訪問。
  • 電源管理限制。在某種情況下,系統對應用的限制列表。
  • 測試和問題跟蹤

除此之外,Android 9(API 28)對省電模式作了一些改進。廠商可以決定自己的限制方式。例如,在AOSP編譯系統中,系統應用了下面的限制:

不等到應用進入idle狀態,就把應用放到standby模式。

  • 對所有應用使用後臺限制,不管目標API多少。
  • 螢幕關閉時位置服務可能會被禁用。
  • 後臺應用沒有網路連線。
  • 更全的限制,參考電源管理限制。

像以前一樣,在省電模式下測試你的應用是個好主意。你可以通過設定->省電模式手動開啟省電模式。

工具

通過平臺提供的工具發現你的應用最耗電的部分,然後利用這些功能優化應用。尋找目標是成功優化的重要步驟。Android工具包括Profile GPU Rendering和電池歷史幫你找到你可以優化的部分。利用這些工具幫你應用Lazy First原則。