日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

应用后台省电秘籍——低功耗状态下应用如何正常运行?

發(fā)布時間:2025/3/21 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用后台省电秘籍——低功耗状态下应用如何正常运行? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

應用退居后臺,如何在低功耗的情況下保證任務正常運行?本文華為軟件功耗專家黃文將分享議題——應用后臺功耗經(jīng)驗。

本文將從安卓綠色聯(lián)盟功耗標準2.0、谷歌后臺功耗方案、華為后臺功耗方案以及開發(fā)者資源使用建議和檢測工具五大方面進行全面講解。

安卓綠色聯(lián)盟功耗標準2.0

《安卓綠色聯(lián)盟應用體驗標準2.0---功耗標準》詳細介紹了應用后臺軟資源和硬資源的使用標準,查看詳情請訪問安卓綠色聯(lián)盟官網(wǎng)。

谷歌后臺功耗方案

谷歌從Android M開始著力改善終端的續(xù)航表現(xiàn)。Android版本在演進中主要提供如下幾個方案。

1.后臺位置限制:

對后臺應用獲取用戶當前位置的頻率進行限制。

相關鏈接:https://developer.android.goo...

2.后臺服務限制:

限制應用在后臺運行服務,并禁止應用通過隱藏/不可見方式調(diào)用 CPU 或網(wǎng)絡資源。

相關鏈接:https://developer.android.goo...

3.后臺限制:

當系統(tǒng)檢測到應用出現(xiàn)不良行為時,系統(tǒng)會向用戶詢問是否要限制該應用在后臺訪問設備資源。

相關鏈接:https://developer.android.goo...

4.谷歌后臺功耗方案-Doze(低耗電模式和應用待機模式)

谷歌在Android M版本引入了Doze方案,此方案主要針對后臺應用在沒有活動的情況下做某些限制。設備未充電且屏幕關閉處于空閑狀態(tài)一段時間后,系統(tǒng)會進入低耗電或者應用待機模式,對應用行為施加相應限制。

相關鏈接:https://developer.android.goo...

如圖所示,以下是Doze模式各狀態(tài)說明:

ACTIVE: 設備活動態(tài)

INACTIVE:設備不活躍(滅屏、不運動) 等待進入idle.

IDLE_PENDING: 設備準備進入下一階段

SENSING: 傳感器檢測設備是否運動

LOCATING: 設備位置變化.

IDLE: 設備進入idle,并盡量長時間保持該狀態(tài)

IDLE_MAINTENANCE: 退出idle進入“維護期”

谷歌還引入了Light-Doze(Android N)和Deep-Doze(Android M)的概念,具體內(nèi)容如下:

5.應用待機群組

應用待機群組對應用進行分組管理,不同的分組享有不同的權限設置,杜絕了對應用一刀切的現(xiàn)象。

相關鏈接:https://developer.android.goo...

應用待機分組:

1)活躍 (Active): 應用正在被使用

2)工作 (Working set): 應用使用頻率很高

3)常用 (Frequent): 應用經(jīng)常但不是每天被使用

4)極少 (Rare): 應用偶爾被使用

5)從不(Never):安裝后一次都未被使用過的應用

分組策略:

調(diào)試:

通過adb命令將應用手動劃分至某一待機群組。輸入以下命令,更改群組:

$ adb shell am set-standby-bucket packagename active/working_set/frequent/rare

輸入以下命令,查看應用所處群組:

$ adb shell am get-standby-bucket [packagename]

為促進用戶體驗,谷歌對應用在后臺狀態(tài)下的建議如下:

華為后臺功耗方案

1.華為的功耗方案,主要是在谷歌的基礎上對應用的異常行為進行監(jiān)控,通過智電機器人,識別后臺應用的行為是正常耗電還是異常耗電。

2.華為的優(yōu)化分為主動優(yōu)化和異常防護。

主動優(yōu)化在谷歌運行方案的基礎上增加了冷凍方案,應用退到后臺后,在沒有用戶可感知狀態(tài)和活動下,將應用所占用的資源包括CPU、軟硬件資源等全部暫停。一旦應用需要運行,資源會啟動恢復流程,這就是主動優(yōu)化。

華為的盾防系統(tǒng)會監(jiān)控所有后臺資源消耗情況,在用戶未感知的情況下,一旦資源消耗超過華為功耗紅線標準,便會發(fā)出高耗電提醒,這就是華為的異常防護。

具體紅線標準請參考《安卓綠色聯(lián)盟應用體驗標準2.0---功耗標準》,標準包括持鎖阻止系統(tǒng)休眠、alarm頻繁喚醒系統(tǒng)、后臺CPU高負載耗電、長時間網(wǎng)絡定位等。

3.華為低功耗Power kit包括PUSH+NC和Bastet鏈路托管技術。

應用推送遠程通知,可以使用華為PUSH NC。

相關鏈接:

https://developer.huawei.com/...

應用保持長鏈接,可以接入華為鏈路托管技術Bastet.

相關鏈接:

https://developer.huawei.com/...

開發(fā)者資源使用建議

1.定時任務

推薦綠色機制:

  • 本地高頻任務,建議使用Handler機制;
  • 本地低頻定時任務,建議使用AlarmManager的set()和setInexactRepeating()方法分別處理單次和循環(huán)多次的調(diào)用;
  • 特定條件(網(wǎng)絡、充電),可延遲定時任務,推薦JobScheduler/WorkManager。

2.網(wǎng)絡

推薦綠色機制:

  • 避免頻繁、零散的網(wǎng)絡請求,推薦統(tǒng)一批量網(wǎng)絡請求;
  • 避免在低電量、弱網(wǎng)絡、移動網(wǎng)絡執(zhí)行過多的網(wǎng)絡請求,在充電、wifi網(wǎng)絡下進行大數(shù)據(jù)量請求;
  • 應用離開界面或進入后臺及時關閉不再使用的TCP鏈接,避免出現(xiàn)大量未關閉狀態(tài)TCP鏈接。

3.Wakelock

推薦綠色機制:

  • 確保喚醒鎖不再需要時立即釋放;
  • 申請和釋放必須成對出現(xiàn);
  • 推薦使用超時鎖acquire(timeout),提前結束后主動釋放超時鎖。

資源使用檢測工具

1.Battery Historian

相關鏈接:https://developer.android.goo...

  • AT&T Application Resource Optimizer
  • 擅長于網(wǎng)絡跟蹤

    相關鏈接:

    https://developer.att.com/app...

  • Android vitals
  • 對過度喚醒、wifi掃描、網(wǎng)絡使用、長時間持喚醒鎖、進行監(jiān)控,并輸出報告

    相關鏈接:https://developer.android.goo...

    總結

    為保證應用在低功耗的情況下能夠正常的運行任務,建議使用如下方案:

    1.研發(fā)階段:

    1)推送遠程通知消息,需使用FCM或華為PUSH NC。

    2)保持長鏈接心跳,需使用華為Modem鏈路托管技術(華為Bastet)

    3)用戶觸發(fā)的后臺業(yè)務,需使用前臺服務+常駐通知。

    • 后臺下載、播放音樂、錄音、導航、計步、騎行記錄軌跡、同步照片等。
    • 讓用戶能夠感知到(可見、可聽),包括聲音、通知欄、widget提示等。

    4)非用戶觸發(fā)可推遲的任務,需使用JobScheduler/WorkManager。

    • 需在充電、Wifi環(huán)境、Doze窗口期進行。
    • 禁止在低電量(<30%)、省電模式、長待機(滅屏超過30min)、夜間(0:00~6:00)進行。

    5)合理使用Alarm,Wakelock,Network,GPS等軟硬資源。

    • 統(tǒng)一使用,避免頻繁使用。
    • 按需使用,及時釋放。

    2.測試驗收:

    借助工具,使用battery-historian、 ARO、Android vitals分析運行時和長待機情況。

    3.禁止行為:

    惡意保活,包括無聲播放、一像素界面、低流量下載等。

    關注安卓綠色聯(lián)盟公眾號,回復“2304”獲取PPT

    總結

    以上是生活随笔為你收集整理的应用后台省电秘籍——低功耗状态下应用如何正常运行?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。