IT之家 11 月 28 日消息,針對開發(fā)者使用后臺任務(wù)中的疑問,華為現(xiàn)已上線概念更明確、邏輯結(jié)構(gòu)更清晰的后臺任務(wù)開發(fā)指南,包含具體的使用場景、詳細(xì)的開發(fā)步驟,幫助開發(fā)者全面理解申請后臺任務(wù)的必要性、后臺任務(wù)類型和申請操作步驟等。
據(jù)介紹,設(shè)備返回主界面、鎖屏、應(yīng)用切換等操作會使應(yīng)用退至后臺,應(yīng)用退至后臺后如果繼續(xù)活動,可能會造成設(shè)備耗電快、用戶界面卡頓等現(xiàn)象。為了降低設(shè)備耗電速度、保障用戶使用流暢度,系統(tǒng)會對退至后臺的應(yīng)用進(jìn)行管控,包括進(jìn)程掛起(即系統(tǒng)不再為應(yīng)用進(jìn)程分配 CPU 資源,同時對應(yīng)的公共事件等不再發(fā)給應(yīng)用進(jìn)程)和進(jìn)程終止。
▲ 后臺任務(wù)類型選擇,圖源華為官方
開發(fā)者可以根據(jù)如下的功能介紹,選擇合適的后臺任務(wù),以滿足應(yīng)用退至后臺后繼續(xù)運(yùn)行的需求:
-
短時任務(wù):適用于實(shí)時性要求高、耗時不長的任務(wù),例如應(yīng)用更新時退至后臺后繼續(xù)更新,保存更新時的數(shù)據(jù)和狀態(tài)。
長時任務(wù):適用于長時間運(yùn)行在后臺、用戶可感知的任務(wù),例如后臺播放音樂、導(dǎo)航、設(shè)備連接等,使用長時任務(wù)避免應(yīng)用進(jìn)程被掛起。
延遲任務(wù):適用于實(shí)時性要求不高、可延遲執(zhí)行的任務(wù)。應(yīng)用退至后臺后被放入執(zhí)行隊(duì)列,系統(tǒng)會根據(jù)內(nèi)存、功耗等統(tǒng)一調(diào)度,例如有網(wǎng)絡(luò)時不定期主動獲取郵件。
代理提醒:代理提醒是指應(yīng)用退后臺或進(jìn)程終止后,系統(tǒng)會代理應(yīng)用做相應(yīng)的提醒。適用于定時提醒類業(yè)務(wù),當(dāng)前支持的提醒類型包括倒計(jì)時、日歷和鬧鐘三類。
▲ 圖源華為官網(wǎng)
選擇合適的后臺任務(wù)類型后,開發(fā)者便可以進(jìn)行申請后臺任務(wù)的操作,以短時任務(wù)為例,IT之家附操作步驟如下:
1、了解相關(guān)機(jī)制及規(guī)格,實(shí)現(xiàn)更高效開發(fā)。
-
申請時機(jī):應(yīng)用需要在前臺或退至后臺 5 秒內(nèi)申請短時任務(wù)。
數(shù)量限制:一個應(yīng)用同一時刻最多支持申請 3 個。
配額機(jī)制:一個應(yīng)用有一定時間配額,單日配額 10 分鐘,單次配額最大為 3 分鐘,低電量時默認(rèn)為 1 分鐘,配額消耗完后不允許再申請短時任務(wù)。所以,任務(wù)完成后,應(yīng)用需主動取消短時任務(wù),否則會影響應(yīng)用當(dāng)日短時任務(wù)的剩余配額。
配額計(jì)算:僅當(dāng)應(yīng)用在后臺時,統(tǒng)計(jì)應(yīng)用下的短時任務(wù)計(jì)時;同一個應(yīng)用下的同一個時間段的短時任務(wù),不重復(fù)計(jì)時。
2、導(dǎo)入相關(guān)模塊,申請短時任務(wù)并實(shí)現(xiàn)回調(diào)。
3、查詢短時任務(wù)的剩余時間,用以判斷是否繼續(xù)運(yùn)行其他業(yè)務(wù)。
4、任務(wù)完成后,及時取消短時任務(wù)。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實(shí),本站將立刻刪除。