回覆列表
  • 1 # 還在手機

    iOS是偽後臺沒錯,但是那是很多年前的事了。大概是iOS3的時候,iOS引進了push notification。實現了應用即使不啟動也能收到推送訊息。iOS4的時候,引進了後臺墓碑,實現了多工功能。後臺應用以墓碑的形式儲存在記憶體中,使用者可以快速恢復。當記憶體不夠的時候,系統會自動退出最早的應用程式。這一時期,一些特殊型別的應用也是可以在後臺執行的,比如後臺音訊播放類,VoIP類,newsstand,位置服務等。然後是2013年釋出的iOS7,對多工功能進行了極大的增強。後臺任務iOS7以前的應用退到後臺後是允許執行一段時間的。但是iOS7開始,一旦手機休眠,後臺應用將被儘快暫停。之後系統會在特定時間進行系統應用的操作被喚醒時(比如檢查郵件或接到電話),將之前暫停的後臺應用一起執行。這樣,系統就不會單獨為第三方應用而使手機處於活動狀態,從而延長了待機時間。後臺獲取(background fetch)iOS7以前的應用在後臺是不能獲取資訊的。應用必須再開啟的時候才能聯網獲取資訊。iOS7以後,應用在後臺就可以直接獲取網路上的資訊。比如天氣可以在後臺獲取資訊進行重新整理,微信也可以在後臺自動更新朋友圈的資訊。不過同樣為了保證續航,更新的間隔時間由系統根據使用者使用情況自行決定,不會讓第三方應用隨意的在後臺啟動和獲取資訊的。推送喚醒(remote notifications)iOS7以前,當你收到推送訊息時,你需要先開啟應用,等待應用從網路上獲取推送的資訊之後,才能將資訊呈現出來。而iOS7改變了這一過程。當系統收到推送訊息時,不是首先提醒使用者,而是喚醒對應的應用,讓應用在後臺獲取對應的資訊。當資訊處理完成後,再提醒使用者。一個很小的改變,但是可以很大的提升使用者體驗。同樣,iOS系統也會限制這種推送訊息的頻率,防止系統被頻繁喚醒影響續航。後臺傳輸(background transfer services)iOS7以前,應用程式在大量資料的上傳下載這方面限制是比較多的。應用只能在前臺進行這種資料傳輸,你不能做其他事情。因為一旦退到後臺之後,應用只能被允許執行一段時間(最長10分鐘),很難完成這種大量資料的傳輸。而iOS7推出了後臺傳輸功能,應用在退到後臺之後,可以將這種上傳和下載資料交給iOS系統來維護和管理。這種後臺資料傳輸沒有時間的限制,傳輸過程中使用者也可以繼續使用其他應用。同樣為了保持電力續航和保護資料流量,這種後臺傳輸僅限WIFI網路。可以看出,蘋果非常用心,採用了非常複雜的設計思路,目的就是為了實現真後臺才能實現的那些功能(推送,後臺更新,上傳下載等功能其實都有了),同時又不讓後臺應用影響耗電,最大程度的保證手機續航能力。而這一切,是兩年前的iOS7就推出的功能了。(居然還有人說iOS7主要改動就是介面?)所以,iOS是有後臺的。只是很多人對iOS的後臺印象其實還停留在兩年以前。

  • 中秋節和大豐收的關聯?
  • 第五屆奧運會在哪裡舉辦?