為什么要使用后臺(tái)任務(wù)?開發(fā)過程中如何選擇合適的后臺(tái)任務(wù)?后臺(tái)任務(wù)申請(qǐng)時(shí)存在哪些約束與限制?
針對(duì)開發(fā)者使用后臺(tái)任務(wù)中的疑問,我們上線了概念更明確、邏輯結(jié)構(gòu)更清晰的后臺(tái)任務(wù)開發(fā)指南,包含具體的使用場(chǎng)景、詳細(xì)的開發(fā)步驟,幫助開發(fā)者全面理解申請(qǐng)后臺(tái)任務(wù)的必要性、后臺(tái)任務(wù)類型和申請(qǐng)操作步驟等。
本期HarmonyOS開發(fā)者資料直通車帶您快速了解內(nèi)容干貨~
一
初識(shí)后臺(tái)任務(wù)
設(shè)備返回主界面、鎖屏、應(yīng)用切換等操作會(huì)使應(yīng)用退至后臺(tái),應(yīng)用退至后臺(tái)后如果繼續(xù)活動(dòng),可能會(huì)造成設(shè)備耗電快、用戶界面卡頓等現(xiàn)象。為了降低設(shè)備耗電速度、保障用戶使用流暢度,系統(tǒng)會(huì)對(duì)退至后臺(tái)的應(yīng)用進(jìn)行管控,包括進(jìn)程掛起(即系統(tǒng)不再為應(yīng)用進(jìn)程分配CPU資源,同時(shí)對(duì)應(yīng)的公共事件等不再發(fā)給應(yīng)用進(jìn)程)和進(jìn)程終止。
為了保障后臺(tái)音樂播放、日歷提醒等功能的正常使用,系統(tǒng)提供了規(guī)范內(nèi)受約束的后臺(tái)任務(wù),擴(kuò)展應(yīng)用在后臺(tái)運(yùn)行時(shí)間,包括短時(shí)任務(wù)、長(zhǎng)時(shí)任務(wù)、延遲任務(wù)、代理提醒。
參考文檔鏈接
后臺(tái)任務(wù)總體概述:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/background-task-overview-0000001614944868-V3
二
選擇后臺(tái)任務(wù)
開發(fā)者可以根據(jù)如下的功能介紹,選擇合適的后臺(tái)任務(wù),以滿足應(yīng)用退至后臺(tái)后繼續(xù)運(yùn)行的需求。
-
短時(shí)任務(wù):適用于實(shí)時(shí)性要求高、耗時(shí)不長(zhǎng)的任務(wù),例如應(yīng)用更新時(shí)退至后臺(tái)后繼續(xù)更新,保存更新時(shí)的數(shù)據(jù)和狀態(tài)。
-
長(zhǎng)時(shí)任務(wù):適用于長(zhǎng)時(shí)間運(yùn)行在后臺(tái)、用戶可感知的任務(wù),例如后臺(tái)播放音樂、導(dǎo)航、設(shè)備連接等,使用長(zhǎng)時(shí)任務(wù)避免應(yīng)用進(jìn)程被掛起。
-
延遲任務(wù):適用于實(shí)時(shí)性要求不高、可延遲執(zhí)行的任務(wù)。應(yīng)用退至后臺(tái)后被放入執(zhí)行隊(duì)列,系統(tǒng)會(huì)根據(jù)內(nèi)存、功耗等統(tǒng)一調(diào)度,例如有網(wǎng)絡(luò)時(shí)不定期主動(dòng)獲取郵件。
- 代理提醒:代理提醒是指應(yīng)用退后臺(tái)或進(jìn)程終止后,系統(tǒng)會(huì)代理應(yīng)用做相應(yīng)的提醒。適用于定時(shí)提醒類業(yè)務(wù),當(dāng)前支持的提醒類型包括倒計(jì)時(shí)、日歷和鬧鐘三類。

圖1 后臺(tái)任務(wù)類型選擇
為保障選擇到合適的任務(wù),開發(fā)者可以根據(jù)圖1流程圖再次判斷。
參考文檔鏈接
后臺(tái)任務(wù)總體概述:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/background-task-overview-0000001614944868-V3
三
申請(qǐng)后臺(tái)任務(wù)
選擇合適的后臺(tái)任務(wù)類型后,可以進(jìn)行申請(qǐng)后臺(tái)任務(wù)的操作啦~以短時(shí)任務(wù)為例,清晰地呈現(xiàn)申請(qǐng)后臺(tái)任務(wù)時(shí)的操作步驟。
①了解相關(guān)機(jī)制及規(guī)格,實(shí)現(xiàn)更高效開發(fā)。
-
申請(qǐng)時(shí)機(jī):應(yīng)用需要在前臺(tái)或退至后臺(tái)5秒內(nèi)申請(qǐng)短時(shí)任務(wù)。
-
數(shù)量限制:一個(gè)應(yīng)用同一時(shí)刻最多支持申請(qǐng)3個(gè)。
-
配額機(jī)制:一個(gè)應(yīng)用有一定時(shí)間配額,單日配額10分鐘,單次配額最大為3分鐘,低電量時(shí)默認(rèn)為1分鐘,配額消耗完后不允許再申請(qǐng)短時(shí)任務(wù)。所以,任務(wù)完成后,應(yīng)用需主動(dòng)取消短時(shí)任務(wù),否則會(huì)影響應(yīng)用當(dāng)日短時(shí)任務(wù)的剩余配額。
-
配額計(jì)算:僅當(dāng)應(yīng)用在后臺(tái)時(shí),統(tǒng)計(jì)應(yīng)用下的短時(shí)任務(wù)計(jì)時(shí);同一個(gè)應(yīng)用下的同一個(gè)時(shí)間段的短時(shí)任務(wù),不重復(fù)計(jì)時(shí)。
②導(dǎo)入相關(guān)模塊,申請(qǐng)短時(shí)任務(wù)并實(shí)現(xiàn)回調(diào)。
③查詢短時(shí)任務(wù)的剩余時(shí)間,用以判斷是否繼續(xù)運(yùn)行其他業(yè)務(wù)。
④任務(wù)完成后,及時(shí)取消短時(shí)任務(wù)。
更詳細(xì)內(nèi)容請(qǐng)參見:
參考文檔鏈接
短時(shí)任務(wù):https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/transient-task-0000001759591245-V3
長(zhǎng)時(shí)任務(wù):https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/continuous-task-0000001711672320-V3
延遲任務(wù):https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/work-scheduler-0000001711831844-V3
代理提醒:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/agent-powered-reminder-0000001663585481-V3
四
期待您的反饋
以上就是本期為大家準(zhǔn)備的HarmonyOS后臺(tái)任務(wù)管理開發(fā)指南上新內(nèi)容,希望能夠幫助開發(fā)者更高效地探索、體驗(yàn)、上手HarmonyOS。
同時(shí),我們十分重視開發(fā)者的意見,歡迎各位開發(fā)者在HarmonyOS應(yīng)用開發(fā)官網(wǎng)積極反饋意見。
我們將持續(xù)提升文檔體驗(yàn)、豐富和完善內(nèi)容,感謝各位開發(fā)者的支持及信賴,您的滿意是我們持續(xù)提升文檔體驗(yàn)的目標(biāo)和動(dòng)力。
請(qǐng)關(guān)注HarmonyOS開發(fā)者公眾號(hào)更多HarmonyOS開發(fā)者資料直通車相關(guān)推送,獲取最新文檔和內(nèi)容資源!
更多推薦
點(diǎn)擊下方圖片鏈接,查看更多欄目?jī)?nèi)容
-
HarmonyOS
+關(guān)注
關(guān)注
79文章
2052瀏覽量
32103
原文標(biāo)題:HarmonyOS后臺(tái)任務(wù)管理開發(fā)指南上線!
文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
AN154 GD32VW553快速開發(fā)指南

超值音棒參考設(shè)計(jì)套件開發(fā)指南

MSP430? MCU開發(fā)指南

MSPM0 C系列MCU硬件開發(fā)指南

MSPM0 L系列MCU硬件開發(fā)指南

RA/RX電機(jī)應(yīng)用開發(fā)指南

評(píng)論