導航:首頁 > 操作系統 > android實現後台運行

android實現後台運行

發布時間:2023-12-23 20:11:57

① Android 後台任務執行

參考:
手機休眠引發的「血案」

使設備保持喚醒

目的為了後台能夠執行定時任務,避免因為設備息屏等操作導致CPU進入睡眠狀態,定時任務被暫停,這就需要能夠喚醒CPU,使CPU能夠起來工作

具有喚醒CPU功能, 喚醒CPU與喚醒屏幕非同一功能。

AlarmManager是安卓系統封裝的用於管理RTC 模塊,RTC(實時時鍾)是一個獨立的硬體時鍾,可以在CPU休眠時正常運行,在預設的時間到達時,通過中斷喚醒CPU。這意味著,岩槐亮如果我們用AlarmManager來定時執行任務,CPU可以正常的休眠,只有在需要運行任務時醒來一段很短的時間。

AlarmManager 定時任務測試粗寬:

MI8 UD:

測試1: 創建一個 Service, Service 中啟動一個 AlarmManager 定時任務
息屏後會繼續列印Log,但息屏超過1min 後,log 停止輸出:

測試2: 創建一個前台通知Service
Service + StartForground + 前台通知 方式,
MI8 UD 息屏後仍繼續列印log.

MI 8 + MI 10 經過測試,在長時間息屏狀態下, AlarmManager 也會存在不工作情況。

另外,設備處於低電耗模式下, AlarmManager 會停止工作或延遲工作,解決辦法: AlarmManager 利弊

手機長時間不操作,CPU 就會進入睡眠狀態,會導致 Timer 中的定時任務無法正常運行。

息屏後,TimerTask 停止工作,再次亮屏後,繼續工作

同樣會由於息屏導致CPU睡眠, Handler 停止工作

太「重」了,使用起來。 影響設備耗電量。

WorkManager 也可以運行後台任務,用於在APP進程被kill後,系統依然可以運行的任務,不要用於APP被殺後,後台服務即停止的任務。

總結:

Timer並不太適用於那些需要長期在後台運行的定時任務。為了能讓電池更加耐用,每種手機都會有自己的休眠策略,Android 手機就會在長時間不操作的情況下自動讓 CPU 進入到睡眠狀態,這就有可能導致 Timer 中的定時任務無法正常運行。

Alarm具有喚醒 CPU 的功能,即可以保證每次需要執行定時任務的時明碧候 CPU 都能正常工作。

AlarmManager 定時任務最小間隔5S, 如何設置間隔 < 5s, 也是按照 5s 間隔執行。

Android DozeMode

閱讀全文

與android實現後台運行相關的資料

熱點內容
qdim命令使用 瀏覽:873
截圖R命令 瀏覽:654
基於單片機的智能台燈設計 瀏覽:685
多餘app是怎麼兌換皮膚的 瀏覽:552
sql資料庫查詢表命令 瀏覽:551
簡單音樂網站源碼 瀏覽:644
運動健康app華為手錶怎麼連接 瀏覽:748
肌肉塑造全書pdf下載 瀏覽:796
安卓簡約拼圖用什麼軟體好 瀏覽:289
fx1n加密程序 瀏覽:844
淘客阿里雲伺服器 瀏覽:476
100壓縮打造 瀏覽:422
安卓手機怎麼和蘋果平板傳文件 瀏覽:973
開始選項卡中的頁眉和頁腳命令選項 瀏覽:424
pdf的字體怎麼改 瀏覽:856
python讀寫視頻 瀏覽:88
科魯茲壓縮機軸承 瀏覽:353
word文檔轉換成pdf文件找不到 瀏覽:27
組件注冊命令 瀏覽:760
安卓大屏導航用的是什麼運放 瀏覽:443