最近總結(jié)了之前項(xiàng)目中用到的后臺(tái)語音播放功能僵腺,順便記錄一下后臺(tái)模式,加深自己的印象。
后臺(tái)運(yùn)行狀態(tài):
- Not running:應(yīng)用還沒有啟動(dòng),或者應(yīng)用正在運(yùn)行但是途中被系統(tǒng)停止勺届。
- Inactive:當(dāng)前應(yīng)用正在前臺(tái)運(yùn)行汗菜,但是并不接收事件草则。一般每當(dāng)應(yīng)用要從一個(gè)狀態(tài)切換到另一個(gè)不同的狀態(tài)時(shí)扯旷,中途過渡會(huì)短暫停留在此狀態(tài)。唯一在此狀態(tài)停留時(shí)間比較長(zhǎng)的情況是:當(dāng)用戶鎖屏?xí)r培己,或者系統(tǒng)提示用戶去響應(yīng)某些(諸如電話來電碳蛋、有未讀短信等)事件的時(shí)候
- Active:當(dāng)前應(yīng)用正在前臺(tái)運(yùn)行,并且接收事件漱凝。這是應(yīng)用正在前臺(tái)運(yùn)行時(shí)所處的正常狀態(tài)
- Background:應(yīng)用處在后臺(tái)疮蹦,并且還在執(zhí)行代碼,都只會(huì)在這個(gè)狀態(tài)短暫停留(最多十分鐘)茸炒,然后就會(huì)被系統(tǒng)強(qiáng)制進(jìn)入 Suspended 狀態(tài)愕乎。
- Suspended:應(yīng)用處在后臺(tái),并且已停止執(zhí)行代碼壁公。
常用的后臺(tái)模式:
- Audio, AirPlay and Picture in Picture
????音頻播放感论,錄音,AirPlay及畫中畫的視頻播放 - Location updates
???? 一般用于導(dǎo)航應(yīng)用中紊册, 開啟此選項(xiàng)后比肄,應(yīng)用推到后臺(tái),還可以得到西戎的定位更新囊陡,從而使得應(yīng)用可以根據(jù)定位的變化做出不同的反應(yīng) - Background fetch
????后臺(tái)獲取數(shù)據(jù)后芳绩,在用戶打開應(yīng)用之前就使APP有機(jī)會(huì)執(zhí)行代碼來獲取數(shù)據(jù),并刷新UI
*Remote notifications
????iOS7之前推送的類型是很單一的撞反,無非就是顯示標(biāo)題內(nèi)容妥色,指定聲音等;iOS7之后設(shè)備在接受到遠(yuǎn)程推送后讓系統(tǒng)喚醒設(shè)備和我們的后臺(tái)應(yīng)用遏片,并先執(zhí)行一段代碼來準(zhǔn)備數(shù)據(jù)和UI嘹害,然后再提示用戶有推送。