關(guān)于ios7的后臺(tái)機(jī)制分析。小編看見不少親都在問關(guān)于ios7的后臺(tái)相關(guān)問題,相信大家都很感興趣,那么下面就和大家一起分享一下這篇后臺(tái)機(jī)制文吧!
iOS系統(tǒng)作為市面上最受歡迎的移動(dòng)操作系統(tǒng),流暢的系統(tǒng)滑動(dòng)和出色的操作體驗(yàn)是值得稱道的。雖然iOS系統(tǒng)的后臺(tái)偽多任務(wù)一直被Android用 戶所詬病,但從筆者看來iOS和Android后臺(tái)機(jī)制即使不同,但是各有各的優(yōu)點(diǎn)和缺點(diǎn),并不能單純?nèi)シ直媸雰?yōu)孰劣。在iOS 7上,其新增了幾種真后臺(tái)的模式,接下來我們一起詳細(xì)了解。
iOS 7中,實(shí)際上APP擁有四種后臺(tái)模式,無論是哪一種后臺(tái)機(jī)制,均需要利用蘋果給予的相應(yīng)后臺(tái)接口實(shí)現(xiàn)。新系統(tǒng)中,開發(fā)者可以靈活利用多種后臺(tái)接口(API)實(shí)現(xiàn)更加智能的應(yīng)用操作。
無后臺(tái)僅推送
第一種后臺(tái)方式為傳統(tǒng)的無后臺(tái)操作,僅有蘋果推送機(jī)制,這種方式出現(xiàn)在iOS 3.x以下的大部分系統(tǒng)版本上。這個(gè)方式下,應(yīng)用在按下Home鍵后即會(huì)關(guān)閉退出,其數(shù)據(jù)通過蘋果搭建的推送服務(wù)器傳輸,并不需要應(yīng)用后臺(tái)運(yùn)行。這種方式 不太好的原因在于,每次推出后,重新進(jìn)入均需要重新加載,雖然推送能夠統(tǒng)一解決數(shù)據(jù)和信息的傳輸,但遇到需要頻繁進(jìn)入應(yīng)用(如聊天APP)的時(shí)候便會(huì)顯得 體驗(yàn)不好。
iOS 7新的后臺(tái)管理和信息推送
墓碑式
第二種方式為墓碑式的后臺(tái)機(jī)制,這在iOS 4后被大量采用,也就是人們所說的偽多任務(wù)。這方式相比較第一種改進(jìn)的地方在于,按下Home鍵至主界面后,應(yīng)用隨即進(jìn)入后臺(tái),但其被凍結(jié),并不能進(jìn)行任何操作。
智能調(diào)度后臺(tái)
第三種為系統(tǒng)智能調(diào)度的后臺(tái),iOS 7新增的background fetch,這個(gè)后臺(tái)接口在蘋果WWDC 2013上有提及,其會(huì)根據(jù)用戶行為自動(dòng)調(diào)整達(dá)到效率最優(yōu)的后臺(tái)模式,能夠處理不是很有時(shí)效性的信息獲取。例如一些社交、新聞?lì)惖膽?yīng)用的后臺(tái)信息更 新,iOS系統(tǒng)便會(huì)根據(jù)應(yīng)用啟動(dòng)頻率、時(shí)間和當(dāng)前網(wǎng)絡(luò)和電量的狀況來智能分配每個(gè)應(yīng)用的后臺(tái)獲取頻率和啟動(dòng)時(shí)長。
新聞?lì)怉PP
由于擁有該接口的應(yīng)用的數(shù)據(jù)后臺(tái)刷新操作是統(tǒng)一調(diào)度的,因此系統(tǒng)可以在一個(gè)進(jìn)程里面獲得多個(gè)應(yīng)用的數(shù)據(jù),類似統(tǒng)一的推送機(jī)制,這樣就能夠最大限度地省 電。不過這個(gè)方式也有一個(gè)缺點(diǎn),那便是開發(fā)者不能設(shè)定數(shù)據(jù)具體什么時(shí)候更新,因此這個(gè)后臺(tái)方式只能應(yīng)用在一些時(shí)效性和敏感度不高的地方。
真后臺(tái)
第四種方式便是真后臺(tái)機(jī)制,但iOS的真后臺(tái)與Android的后臺(tái)機(jī)制是不一樣的,為了兼顧系統(tǒng)體驗(yàn)和統(tǒng)一進(jìn)程管理,iOS在這上面加入了眾多的限制。大致?lián)碛幸韵聨讉(gè)后臺(tái)接口模式:
1、Background Audio,這是后臺(tái)的音頻,這個(gè)很早之前便有,也是iOS設(shè)備中用得最多的后臺(tái)應(yīng)用,調(diào)用這個(gè)接口可以實(shí)現(xiàn)后臺(tái)的音樂播放。
音樂后臺(tái)運(yùn)行
2、Location Services,這是后臺(tái)的定位,系統(tǒng)會(huì)擁有統(tǒng)一頁面進(jìn)行管理。
3、VoIP,后臺(tái)語音服務(wù),類似Skype通話應(yīng)用需要調(diào)用,可進(jìn)行后臺(tái)的語音通話。
4、Newsstand,報(bào)刊雜志后臺(tái)自動(dòng)下載更新,其能夠自動(dòng)實(shí)時(shí)更新。
報(bào)刊雜志自動(dòng)更新
5、Background Task Completion,這個(gè)接口早在iOS 4時(shí)候便擁有,其可以供任意類型的APP使用,不過在舊系統(tǒng)中,這個(gè)接口的后臺(tái)限制運(yùn)行時(shí)間僅為10分鐘,意味著當(dāng)應(yīng)用退至后臺(tái),其后臺(tái)運(yùn)行僅能持續(xù)10 分鐘便會(huì)轉(zhuǎn)至休眠狀態(tài)。iOS 7中對(duì)這個(gè)接口作出了改變,原來的為連續(xù)10分鐘,即不論你這10分鐘內(nèi)用戶是否關(guān)閉屏幕進(jìn)入休眠狀態(tài),應(yīng)用仍然會(huì)在后臺(tái)等待10分鐘完結(jié)后推出,而新的 改進(jìn)為假如遇到關(guān)閉屏幕休眠的情況,這后臺(tái)運(yùn)行的10分鐘便會(huì)跟隨一同休眠,剩余的后臺(tái)時(shí)間將會(huì)留待用戶再一次喚醒設(shè)備才計(jì)算。這樣后臺(tái)運(yùn)行的時(shí)間仍然為 10分鐘,但并不連續(xù),這樣做的優(yōu)點(diǎn)為省電。
有道詞典的后臺(tái)更新
如現(xiàn)在有一些詞典應(yīng)用帶有后臺(tái)復(fù)制選詞功能,實(shí)際上其是利用了這個(gè)接口,如果用戶開啟詞典后并推出,即使屏幕關(guān)閉,但詞典仍然在后臺(tái)運(yùn)行,電量消耗還是比較大的,在iOS 7上,這個(gè)問題可以得到解決。
6、Remote Notification,這是本次較大的一個(gè)改進(jìn)接口,以往聊天類應(yīng)用接受推送后點(diǎn)進(jìn)去需要再收一次信息,這情況在QQ、微信等應(yīng)用上最為明顯。不過擁 有了這個(gè)接口后,這情況將不復(fù)存在,以后推送將能夠直接啟動(dòng)后臺(tái)任務(wù)。值得注意的是remote notification支持silent notification(靜默推送),這樣dropbox這類同步應(yīng)用可以在后臺(tái)以最節(jié)能的模式實(shí)時(shí)靜默同步了,類似布卡漫畫這種也可以推送正在追的漫 畫的新章節(jié)并在后臺(tái)靜默下載,待到下載好再給用戶發(fā)送一個(gè)本地推送,用戶點(diǎn)開即看無需再聯(lián)網(wǎng)。
7、Background Transfer Service,后臺(tái)上傳下載。iOS最接近傳統(tǒng)多任務(wù)的后臺(tái)接口,可供任意類型的app調(diào)用,無時(shí)間限制。應(yīng)用場(chǎng)景包括后臺(tái)上傳和下載數(shù)據(jù),這使得游戲 后臺(tái)更新數(shù)據(jù)包,后臺(tái)上傳視頻等等都成為可能,但是正如其名字,它只能用于處理上傳下載這種傳輸類的任務(wù),類似后臺(tái)剪切板監(jiān)控這種它就無能為力了。
總結(jié)
以上便是iOS 7系統(tǒng)中最主要的后臺(tái)機(jī)制,有部分是舊版iOS系統(tǒng)已經(jīng)存在,現(xiàn)在也被沿用下來,而新增加的幾個(gè)后臺(tái)接口,進(jìn)一步開放iOS設(shè)備的后臺(tái)權(quán)限,不過為了繼續(xù) 保持iOS移動(dòng)設(shè)備的優(yōu)秀體驗(yàn),蘋果是逐步放開,并且加入了相應(yīng)的限制。background fetch、Remote Notification、Background Transfer Service是三個(gè)比較有看頭的后臺(tái)接口,實(shí)際中,開發(fā)者可以靈活運(yùn)用這些接口實(shí)現(xiàn)應(yīng)用的智能后臺(tái)服務(wù),例如常見的地圖應(yīng)用可以開啟定位 (Location),其檢測(cè)到用戶進(jìn)入到另外的城市便會(huì)自動(dòng)進(jìn)行后臺(tái)的離線地圖下載,通過Background Transfer Service接口。更多更多的組合需要等開發(fā)者來實(shí)現(xiàn)。
省電建議
最后要說的便是, 有朋友感覺更新到iOS 7系統(tǒng)后,感覺耗電量大增,尤其是以待機(jī)電量最為明顯。實(shí)際上iOS已經(jīng)有較成熟的電源管理,而且也提供統(tǒng)一的頁面供消費(fèi)者設(shè)計(jì),耗電量大戶主要在于定位 服務(wù)和后臺(tái)應(yīng)用程序刷新。筆者給的建議便是把不需要用到定位的應(yīng)用取消權(quán)限,進(jìn)入設(shè)置-隱私-定位服務(wù),把應(yīng)用的權(quán)限剔除。此外在該頁面下的系統(tǒng)服務(wù)定位 上,只保留指南針校準(zhǔn)。
剔除不需要的后臺(tái)運(yùn)行和定位的應(yīng)用
保留必要的系統(tǒng)定位服務(wù)
此外進(jìn)入通用-后臺(tái)應(yīng)用程序刷新頁面中,同樣把不需要后臺(tái)刷新的應(yīng)用關(guān)閉。可以看到主要后臺(tái)運(yùn)行的有地圖類應(yīng)用、天氣、網(wǎng)盤,這幾類應(yīng)用如果允許在后臺(tái) 運(yùn)行,地圖會(huì)自動(dòng)檢測(cè)地理位置提供該地區(qū)的信息或自動(dòng)進(jìn)行離線數(shù)據(jù)下載,而天氣應(yīng)用也會(huì)自動(dòng)檢測(cè)位置提供該地方天氣信息,而網(wǎng)盤會(huì)在檢測(cè)到WIFI后自動(dòng) 進(jìn)行后臺(tái)上傳,關(guān)閉后臺(tái)應(yīng)用刷新能夠大大提高續(xù)航。
以上,就是關(guān)ios7后臺(tái)的一些剖析,和使用小說明,大家可以一起看看啦~!祝,開心。