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