一、功能介紹
應(yīng)用退至后臺(tái)后,需要執(zhí)行實(shí)時(shí)性要求不高的任務(wù),例如有網(wǎng)絡(luò)時(shí)不定期主動(dòng)獲取郵件等,可以使用延遲任務(wù)。當(dāng)應(yīng)用滿(mǎn)足設(shè)定條件(包括網(wǎng)絡(luò)類(lèi)型、充電類(lèi)型、存儲(chǔ)狀態(tài)、電池狀態(tài)、定時(shí)狀態(tài)等)時(shí),將任務(wù)添加到執(zhí)行隊(duì)列,系統(tǒng)會(huì)根據(jù)內(nèi)存、功耗、設(shè)備溫度、用戶(hù)使用習(xí)慣等統(tǒng)一調(diào)度拉起應(yīng)用。
二、運(yùn)行原理
圖1?延遲任務(wù)實(shí)現(xiàn)原理
?
應(yīng)用調(diào)用延遲任務(wù)接口添加、刪除、查詢(xún)延遲任務(wù),延遲任務(wù)管理模塊會(huì)根據(jù)任務(wù)設(shè)置的條件(通過(guò)WorkInfo參數(shù)設(shè)置,包括網(wǎng)絡(luò)類(lèi)型、充電類(lèi)型、存儲(chǔ)狀態(tài)等)和系統(tǒng)狀態(tài)(包括內(nèi)存、功耗、設(shè)備溫度、用戶(hù)使用習(xí)慣等)統(tǒng)一決策調(diào)度時(shí)機(jī)。
當(dāng)滿(mǎn)足調(diào)度條件或調(diào)度結(jié)束時(shí),系統(tǒng)會(huì)回調(diào)應(yīng)用WorkSchedulerExtensionAbility中 onWorkStart() 或 onWorkStop() 的方法,同時(shí)會(huì)為應(yīng)用單獨(dú)創(chuàng)建一個(gè)Extension擴(kuò)展進(jìn)程用以承載WorkSchedulerExtensionAbility,并給WorkSchedulerExtensionAbility一定的活動(dòng)周期,開(kāi)發(fā)者可以在對(duì)應(yīng)回調(diào)方法中實(shí)現(xiàn)自己的任務(wù)邏輯。
三、約束與限制
數(shù)量限制:一個(gè)應(yīng)用同一時(shí)刻最多申請(qǐng)10個(gè)延遲任務(wù)。
執(zhí)行頻率限制:系統(tǒng)對(duì)延遲任務(wù)做分級(jí)管控,限制延遲任務(wù)調(diào)度的執(zhí)行頻率。通過(guò)能效資源接口申請(qǐng)了WORK_SCHEDULER資源的應(yīng)用,會(huì)被放在能效資源豁免分組中。
表1?應(yīng)用活躍程度分組
?
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-805942.html
超時(shí):WorkSchedulerExtensionAbility單次回調(diào)最長(zhǎng)運(yùn)行2分鐘。如果超時(shí)不取消,系統(tǒng)會(huì)終止對(duì)應(yīng)的Extension進(jìn)程。對(duì)于系統(tǒng)特權(quán)應(yīng)用,可以通過(guò)能效資源接口申請(qǐng)WORK_SCHEDULER資源,擴(kuò)展單次回調(diào)運(yùn)行時(shí)長(zhǎng),擴(kuò)展后在充電狀態(tài)下為20分鐘,非充電狀態(tài)下為10分鐘。
調(diào)度延遲:系統(tǒng)會(huì)根據(jù)內(nèi)存、功耗、設(shè)備溫度、用戶(hù)使用習(xí)慣等統(tǒng)一調(diào)度,如當(dāng)系統(tǒng)內(nèi)存資源不足或溫度達(dá)到一定擋位時(shí),系統(tǒng)將延遲調(diào)度該任務(wù)。
WorkSchedulerExtensionAbility接口調(diào)用限制:為實(shí)現(xiàn)對(duì)WorkSchedulerExtensionAbility能力的管控,在WorkSchedulerExtensionAbility中限制以下接口的調(diào)用:
@ohos.resourceschedule.backgroundTaskManager (后臺(tái)任務(wù)管理)
@ohos.backgroundTaskManager (后臺(tái)任務(wù)管理)
@ohos.multimedia.audio (音頻管理)
@ohos.multimedia.media (媒體服務(wù))
本文根據(jù)HarmonyOS官方開(kāi)發(fā)文檔學(xué)習(xí)整理文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-805942.html
到了這里,關(guān)于鴻蒙原生應(yīng)用/元服務(wù)開(kāi)發(fā)-延遲任務(wù)說(shuō)明(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!