首頁>Club>
9
回覆列表
  • 1 # 使用者2229425510557630

    第一種後臺方式為傳統的無後臺操作,僅有蘋果推送機制,這種方式出現在ios3.x以下的大部分系統版本上。這個方式下,應用在按下Home鍵後即會關閉退出,其資料透過蘋果搭建的推送伺服器傳輸,並不需要應用後臺執行。這種方式

    不太好的原因在於,每次推出後,重新進入均需要重新載入,雖然推送能夠統一解決資料和資訊的傳輸,但遇到需要頻繁進入應用(如聊天APP)的時候便會顯得

    體驗不好。

    第二種方式為墓碑式的後臺機制,這在ios4後被大量採用,也就是人們所說的偽多工。這方式相比較第一種改進的地方在於,按下Home鍵至主介面後,應用隨即進入後臺,但其被凍結,並不能進行任何操作。

    第三種為系統智慧排程的後臺,ios7新增的background

    fetch,這個後臺介面在蘋果WWDC

    2013上有提及,其會根據使用者行為自動調整達到效率最優的後臺模式,能夠處理不是很有時效性的資訊獲取。例如一些社交、新聞類的應用的後臺資訊更

    新,iOS系統便會根據應用啟動頻率、時間和當前網路和電量的狀況來智慧分配每個應用的後臺獲取頻率和啟動時長。

    由於擁有該介面的應用的資料後臺重新整理操作是統一排程的,因此係統可以在一個程序裡面獲得多個應用的資料,類似統一的推送機制,這樣就能夠最大限度地省

    電。不過這個方式也有一個缺點,那便是開發者不能設定資料具體什麼時候更新,因此這個後臺方式只能應用在一些時效性和敏感度不高的地方。

    第四種方式便是真後臺機制,但iOS的真後臺與Android的後臺機制是不一樣的,為了兼顧系統體驗和統一程序管理,iOS在這上面加入了眾多的限制。大致擁有以下幾個後臺介面模式:

    1、Background

    Audio,這是後臺的音訊,這個很早之前便有,也是iOS裝置中用得最多的後臺應用,呼叫這個介面可以實現後臺的音樂播放。

    2、LocationServices,這是後臺的定位,系統會擁有統一頁面進行管理。

    3、VoIP,後臺語音服務,類似Skype通話應用需要呼叫,可進行後臺的語音通話。

    4、Newsstand,報刊雜誌後臺自動下載更新,其能夠自動實時更新。

    5、BackgroundTask

    Completion,這個介面早在ios4時候便擁有,其可以供任意型別的APP使用,不過在舊系統中,這個介面的後臺限制執行時間僅為10分鐘,意味著當應用退至後臺,其後臺執行僅能持續10

    分鐘便會轉至休眠狀態。ios7中對這個介面作出了改變,原來的為連續10分鐘,即不論你這10分鐘內使用者是否關閉螢幕進入休眠狀態,應用仍然會在後臺等待10分鐘完結後推出,而新的

    改進為假如遇到關閉螢幕休眠的情況,這後臺執行的10分鐘便會跟隨一同休眠,剩餘的後臺時間將會留待使用者再一次喚醒裝置才計算。這樣後臺執行的時間仍然為

    10分鐘,但並不連續,這樣做的優點為省電。 如現在有一些詞典應用帶有後臺複製選詞功能,實際上其是利用了這個介面,如果使用者開啟詞典後並推出,即使螢幕關閉,但詞典仍然在後臺執行,電量消耗還是比較大的,在ios7上,這個問題可以得到解決。

    6、Remote

    Notification,這是本次較大的一個改進介面,以往聊天類應用接受推送後點進去需要再收一次資訊,這情況在QQ、微信等應用上最為明顯。不過擁

    有了這個介面後,這情況將不復存在,以後推送將能夠直接啟動後臺任務。值得注意的是remotenotification支援silent

    notification(靜默推送),這樣dropbox這類同步應用可以在後臺以最節能的模式實時靜默同步了,類似布卡漫畫這種也可以推送正在追的漫

    畫的新章節並在後臺靜默下載,待到下載好再給使用者傳送一個本地推送,使用者點開即看無需再聯網。

    7、BackgroundTransfer

    Service,後臺上傳下載。iOS最接近傳統多工的後臺介面,可供任意型別的app呼叫,無時間限制。應用場景包括後臺上傳和下載資料,這使得遊戲

    後臺更新資料包,後臺上傳影片等等都成為可能,但是正如其名字,它只能用於處理上傳下載這種傳輸類的任務,類似後臺剪下板監控這種它就無能為力了。

    總結

    以上便是ios7系統中最主要的後臺機制,有部分是舊版iOS系統已經存在,現在也被沿用下來,而新增加的幾個後臺介面,進一步開放iOS裝置的後臺許可權,不過為了繼續

    保持iOS移動裝置的優秀體驗,蘋果是逐步放開,並且加入了相應的限制。backgroundfetch、RemoteNotification、BackgroundTransferService是三個比較有看頭的後臺介面,實際中,開發者可以靈活運用這些介面實現應用的智慧後臺服務,例如常見的地圖應用可以開啟定位(Location),其檢測到使用者進入到另外的城市便會自動進行後臺的離線地圖下載,透過BackgroundTransfer

    Service介面。更多更多的組合需要等開發者來實現。

  • 中秋節和大豐收的關聯?
  • 東晉滅亡後16國的分佈?