華為推出鴻蒙HarmonyOS后臺(tái)任務(wù)管理開發(fā)指南,包含使用場(chǎng)景等
IT之家 11 月 28 日消息,針對(duì)開發(fā)者使用后臺(tái)任務(wù)中的疑問,華為現(xiàn)已上線概念更明確、邏輯結(jié)構(gòu)更清晰的后臺(tái)任務(wù)開發(fā)指南,包含具體的使用場(chǎng)景、詳細(xì)的開發(fā)步驟,幫助開發(fā)者全面理解申請(qǐng)后臺(tái)任務(wù)的必要性、后臺(tái)任務(wù)類型和申請(qǐng)操作步驟等。
據(jù)介紹,設(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)任務(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í)、日歷和鬧鐘三類。
▲ 圖源華為官網(wǎng)
選擇合適的后臺(tái)任務(wù)類型后,開發(fā)者便可以進(jìn)行申請(qǐng)后臺(tái)任務(wù)的操作,以短時(shí)任務(wù)為例,IT之家附操作步驟如下:
1、了解相關(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í)。
2、導(dǎo)入相關(guān)模塊,申請(qǐng)短時(shí)任務(wù)并實(shí)現(xiàn)回調(diào)。
3、查詢短時(shí)任務(wù)的剩余時(shí)間,用以判斷是否繼續(xù)運(yùn)行其他業(yè)務(wù)。
4、任務(wù)完成后,及時(shí)取消短時(shí)任務(wù)。