在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Android 12中運(yùn)行WorkManager

谷歌開發(fā)者 ? 來源:Android開發(fā)者 ? 作者:Android ? 2021-10-28 11:18 ? 次閱讀

Android 12 (API 級別為 31) 引入了前臺服務(wù)啟動限制。除少部分特殊場景外,如果您的應(yīng)用的 targetSdkVersion 是 Android 12 或者更高 API 級別的話,應(yīng)用在后臺運(yùn)行時將不能再啟動前臺服務(wù)。這意味著,如果應(yīng)用當(dāng)前狀態(tài)不符合后臺啟動服務(wù)的條件,調(diào)用 setForeground 時可能會拋出異常。

前臺服務(wù)啟動限制

https://developer.android.google.cn/about/versions/12/foreground-services

特殊場景

https://developer.android.google.cn/guide/components/foreground-services#background-start-restriction-exemptions

setForeground

https://developer.android.google.cn/reference/androidx/work/ListenableWorker#setForegroundAsync(androidx.work.ForegroundInfo)

異常

https://developer.android.google.cn/reference/android/app/ForegroundServiceStartNotAllowedException

因此,我們在 WorkManager 2.7 中做出了部分改進(jìn),使得應(yīng)用在遵守后臺限制的同時可以輕松地安排重要任務(wù)。通過加急任務(wù),應(yīng)用可以輕松地運(yùn)行耗時短且高優(yōu)先級的任務(wù),例如發(fā)送一條聊天信息或者往社交網(wǎng)絡(luò)上傳一張圖片。推薦使用加急任務(wù)來啟動需要立即執(zhí)行且即使用戶將應(yīng)用放至后臺也能繼續(xù)執(zhí)行的任務(wù)。

加急任務(wù)

https://developer.android.google.cn/about/versions/12/foreground-services#expedited-jobs

如需設(shè)置加急任務(wù),可通過 WorkRequest 的 Builder 對象調(diào)用 setExpedited() 方法:

val request = OneTimeWorkRequestBuilder《HighPriorityWorker》() .setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST) .build()WorkManager.getInstance(context).enqueue(request)

通過調(diào)用 setExpedited() 告訴框架該任務(wù)是重要的并且比其他任務(wù)具有更高的優(yōu)先級。請注意,我們在調(diào)用 setExpedited() 方法時傳入了 OutOfQuotaPolicy 參數(shù)。加急任務(wù)受基于應(yīng)用待機(jī)群組 (App Standby Buckets) 的配額限制,當(dāng)您的應(yīng)用嘗試在超出配額的情況下執(zhí)行加急任務(wù)時,WorkManager 會根據(jù) OutOfQuotaPolicy 參數(shù)做出相應(yīng)的行為: 完全放棄加急任務(wù)請求 (DROP_WORK_REQUEST),或者將該加急任務(wù)降級至普通任務(wù) (RUN_AS_NON_EXPEDITED_WORK_REQUEST)。加急任務(wù)很重要,但并不意味著它可以一直執(zhí)行,您需要將配額視為執(zhí)行加急任務(wù)的時間限制。

OutOfQuotaPolicy

https://developer.android.google.cn/reference/androidx/work/OutOfQuotaPolicy

應(yīng)用待機(jī)群組 (App Standby Buckets)

https://developer.android.google.cn/topic/performance/appstandby

WorkManager 2.7 是向后兼容的,可以在 Android 12 之前的系統(tǒng)上運(yùn)行。當(dāng)在 Android 11 或之前版本的系統(tǒng)上調(diào)用 setExpedited() 時,WorkManager 將默認(rèn)使用前臺服務(wù)代替加急任務(wù)。

想了解 WorkManager 中 setExpedited() API 的實(shí)戰(zhàn),請參閱官方文檔:

WorkManager 示例

https://github.com/android/architecture-components-samples/tree/android-s/WorkManagerSample

加急任務(wù)

https://developer.android.google.cn/topic/libraries/architecture/workmanager/how-to/define-work#expedited-jobs

您可以在官方發(fā)布說明中查看 WorkManager 每個版本中變更及優(yōu)化的詳細(xì)列表,以及 WorkManager 2.6 和 WorkManager 2.7 的發(fā)布說明。

WorkManager 2.6

https://developer.android.google.cn/jetpack/androidx/releases/work#2.6.0

WorkManager 2.7

https://developer.android.google.cn/jetpack/androidx/releases/work#2.7.0

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3966

    瀏覽量

    129633
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9717

    瀏覽量

    87363

原文標(biāo)題:在 Android 12 中使用 WorkManager

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    何在Android設(shè)備上安裝Cyusb3014芯片驅(qū)動?

    1.如何在Android設(shè)備上安裝Cyusb3014芯片驅(qū)動? 我們在 Windows 上有 FX3 驅(qū)動程序 SDK。 2.如何在Android系統(tǒng)上下載固件到芯片中?
    發(fā)表于 05-15 07:23

    何在i.mx8mq的android13上啟用Widevine DRM?

    /widevine 文件夾。 2. Android 13 顯示不支持。 Android 13 沒有 vendor/widevine 文件夾。 那么,如何在
    發(fā)表于 04-11 06:44

    多顯示器在運(yùn)行Android Automotive 8 i.MX Automotive 13.0.0 1.1.0系統(tǒng)的1.1.0 EVK無法正常工作怎么解決?

    我們在 imx8 QuadXPlus EVK 運(yùn)行 Android Automotive 13.0.0 1.1.0 映像。我們閃現(xiàn)的圖像是Android 13 1.1.0 圖像(超鏈
    發(fā)表于 04-10 06:02

    【技術(shù)案例】Android in Docker

    的資源利用,廣泛用于開發(fā)、測試和生產(chǎn)環(huán)境AndroidinDocker介紹宿主機(jī)系統(tǒng)通過docker運(yùn)行Android容器。利用doc
    的頭像 發(fā)表于 04-02 16:33 ?541次閱讀
    【技術(shù)案例】<b class='flag-5'>Android</b> in Docker

    Android 16有哪些變更

    全球范圍內(nèi)有超過 30 億臺 Android 設(shè)備正在使用,這使得 Android 生態(tài)系統(tǒng)比以往任何時候都更加活躍。Android 移動應(yīng)用能夠在手機(jī)、可折疊設(shè)備、平板電腦、Chr
    的頭像 發(fā)表于 03-27 10:18 ?597次閱讀

    何在 樹莓派 上編寫和運(yùn)行 C 語言程序?

    在本教程,我將討論C編程語言是什么,C編程的用途,以及如何在RaspberryPi上編寫和運(yùn)行C程序。本文的目的是為您介紹在RaspberryPi上進(jìn)行C編程的基礎(chǔ)知識。如果您想深入了解C編程
    的頭像 發(fā)表于 03-25 09:28 ?435次閱讀
    如<b class='flag-5'>何在</b> 樹莓派 上編寫和<b class='flag-5'>運(yùn)行</b> C 語言程序?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    在這篇文章,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運(yùn)行一個簡單的Python程序。什么是Python程序?Python
    的頭像 發(fā)表于 03-25 09:27 ?529次閱讀
    零基礎(chǔ)入門:如<b class='flag-5'>何在</b>樹莓派上編寫和<b class='flag-5'>運(yùn)行</b>Python程序?

    何在Windows中使用MTP協(xié)議

    、圖片等)的通信協(xié)議,它被廣泛用于Android設(shè)備。以下是如何在Windows中使用MTP協(xié)議的詳細(xì)步驟: 1. 確保設(shè)備支持MTP 首先,你需要確認(rèn)你的設(shè)備支持MTP協(xié)議。大多數(shù)現(xiàn)代Android
    的頭像 發(fā)表于 01-03 10:26 ?2189次閱讀

    android手機(jī)上emulate應(yīng)用程序的方法

    Android手機(jī)上模擬(emulate)應(yīng)用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實(shí)際物理設(shè)備的情況下運(yùn)行
    的頭像 發(fā)表于 12-05 15:33 ?1084次閱讀

    迅為RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo

    迅為RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo
    的頭像 發(fā)表于 11-15 15:04 ?962次閱讀
    迅為RK3588開發(fā)板<b class='flag-5'>Android12</b>動態(tài)替換開機(jī)logo

    何在Android上構(gòu)建自定義AI功能

    在 "AI on Android Spotlight Week" 期間,我們深入探討了如何將自己的 AI 模型引入 Android 設(shè)備,如手機(jī)、平板電腦等。通過利用
    的頭像 發(fā)表于 11-15 11:51 ?1325次閱讀

    【軟件干貨】Android應(yīng)用進(jìn)程如何保活?

    Android應(yīng)用程序,為了保證應(yīng)用的正常運(yùn)行和穩(wěn)定性,有時需要對應(yīng)用進(jìn)程進(jìn)行保活。以下是一些實(shí)現(xiàn)進(jìn)程保活的方法:
    的頭像 發(fā)表于 10-15 17:05 ?1071次閱讀
    【軟件干貨】<b class='flag-5'>Android</b>應(yīng)用進(jìn)程如何保活?

    何在Altium Designer快速定位器件

    想知道如何在Altium Designer快速定位器件嘛?
    的頭像 發(fā)表于 10-12 09:28 ?1.2w次閱讀
    如<b class='flag-5'>何在</b>Altium Designer<b class='flag-5'>中</b>快速定位器件

    何在反激式拓?fù)?b class='flag-5'>中實(shí)現(xiàn)軟啟動

    電子發(fā)燒友網(wǎng)站提供《如何在反激式拓?fù)?b class='flag-5'>中實(shí)現(xiàn)軟啟動.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 11:09 ?0次下載
    如<b class='flag-5'>何在</b>反激式拓?fù)?b class='flag-5'>中</b>實(shí)現(xiàn)軟啟動

    何在FPGA實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7實(shí)現(xiàn)4位偽隨機(jī)數(shù)發(fā)生器(PRNGs)。
    的頭像 發(fā)表于 08-06 11:20 ?1110次閱讀
    如<b class='flag-5'>何在</b>FPGA<b class='flag-5'>中</b>實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器
    主站蜘蛛池模板: 天天干在线观看 | 1024手机看片国产旧版你懂的 | 美女教师一级毛片 | 久久影视免费观看网址 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片免费看 | 99久久精品费精品国产一区二 | 久久夜色精品国产亚洲噜噜 | 高清配种视频xxxxx | 热99视频| 免看乌克兰a一级 | 视频免费在线观看 | 狠狠色噜噜狠狠狠97影音先锋 | 男人j进女人j免费视频视频 | 日本亚洲高清乱码中文在线观看 | 日本高清一区二区三区不卡免费 | 欧美黄色一级网站 | 午夜网站视频 | 久久97精品久久久久久久看片 | 美女被免费网站在线视频九色 | 丰满年轻岳欲乱中文字幕 | 天堂a免费视频在线观看 | 色妹子综合| 天天操天天干天天透 | 亚洲成人免费 | 亚洲欧美综合一区 | 六月婷婷精品视频在线观看 | 国模吧一区二区三区精品视频 | 五月天婷五月天综合网在线 | 夜夜橹橹网站夜夜橹橹 | 五月月色开心婷婷久久合 | 成人看片在线观看 | 亚洲国产成人在人网站天堂 | 亚洲天堂视频在线播放 | 成人免费淫片95视频观看网站 | 手机看片1024免费视频 | 日本特黄特色视频 | 色综合久久九月婷婷色综合 | 狠狠色丁香婷婷综合小时婷婷 | 国产美女作爱全过程免费视频 | 人人干免费 | 天天色天天草 |