iOS是假后臺(tái)嗎?
網(wǎng)友解答: 所謂iOS是假后臺(tái)一說,流傳甚廣,說者也是理直氣壯,不信你看:后臺(tái)不會(huì)下載、開多個(gè)網(wǎng)頁后切換需要重加載等等,今時(shí)今日這說法就真的靠譜嗎?首先得從后臺(tái)開始說起iOS 4時(shí)代的多
所謂iOS是假后臺(tái)一說,流傳甚廣,說者也是理直氣壯,不信你看:后臺(tái)不會(huì)下載、開多個(gè)網(wǎng)頁后切換需要重加載等等,今時(shí)今日這說法就真的靠譜嗎?
首先得從后臺(tái)開始說起
iOS 4時(shí)代的多任務(wù)管理界面
從蘋果的iOS 4開始,就有了多任務(wù)功能,當(dāng)你按下HOME鍵,前臺(tái)的應(yīng)用就會(huì)以墓碑的方式保存在內(nèi)存中,也就轉(zhuǎn)入到了后臺(tái),這應(yīng)該是iOS最后的"后臺(tái)",但是在那個(gè)年代,只有像音頻播放、位置服務(wù)等服務(wù)才能在后臺(tái)真正運(yùn)行,其它普通的應(yīng)用會(huì)轉(zhuǎn)到后臺(tái)的幾秒鐘后掛起,也就是說雖然還存在內(nèi)存中,但不會(huì)運(yùn)行了,當(dāng)系統(tǒng)需要內(nèi)存了,這些被掛起的進(jìn)程就有可能被殺掉以釋放內(nèi)存。
顯然這樣的設(shè)計(jì)是為了保證當(dāng)前活躍應(yīng)用的良好運(yùn)行,同時(shí)也能提高手機(jī)的流暢性及續(xù)航能力,而后臺(tái)進(jìn)程在幾秒后就被掛起,下次切換的時(shí)候,就有可能需要重新加載,所以,“假后臺(tái)”一說就這樣出現(xiàn)了。
從2010年起,iOS的這種多任務(wù)和后臺(tái)管理持續(xù)了三年時(shí)間,經(jīng)歷了iOS 4、iOS 5、iOS 6三代,其間的改變很少,“假后臺(tái)”就在這幾年廣為流傳,但是時(shí)至今日,就有些不準(zhǔn)確了。
具有歷史意義的iOS 7,“假后臺(tái)”變?yōu)椤爸悄芎笈_(tái)”
2013年發(fā)布的iOS 7絕對(duì)是里程牌式的,它的改變之一就是對(duì)后臺(tái)進(jìn)程的優(yōu)化處理。
在iOS 7中,手機(jī)鎖屏后,后臺(tái)應(yīng)用將也會(huì)很快被暫停,如果系統(tǒng)被喚醒這些暫停的后臺(tái)應(yīng)用也會(huì)一起繼續(xù)運(yùn)行。除此之外,它會(huì)還記憶一些用戶習(xí)慣。
iOS后臺(tái)適應(yīng)用戶的使用習(xí)慣
可能很多用戶并不知情,現(xiàn)在的iOS后臺(tái)是非常智能的,比如你每天早中晚分別會(huì)打開A應(yīng)用,B應(yīng)用和A應(yīng)用,iOS在觀察一段時(shí)間后,它就會(huì)在適當(dāng)時(shí)間提前喚醒或啟動(dòng)相應(yīng)的A、B、A應(yīng)用,提升用戶體驗(yàn),這樣當(dāng)用戶打開A程序或B程序時(shí),感覺好快啊,絲般順滑就是這么來的。。
另外,從iOS 7開始新增了三種后臺(tái)運(yùn)行模式,即Background Fetch(后臺(tái)獲?。?、Silent Remote Notifications(靜默推送喚醒)和Background Transfer Service(后臺(tái)傳輸)。
Background Fetch, 后臺(tái)應(yīng)用刷新
簡(jiǎn)單來說,iOS 7之前的應(yīng)用只有在打開時(shí)才能聯(lián)網(wǎng)獲取信息,而Background Fetch能在后臺(tái)就可以直接獲取信息,比如微信可以在后臺(tái)自動(dòng)更新朋友圈。Silent Remote Notifications則更人性化,當(dāng)收到消息后隨即喚醒相應(yīng)的APP,然后再通知用戶,大大提升了用戶體驗(yàn)。Background Transfer service能讓所有的下載任務(wù)會(huì)交給系統(tǒng)的獨(dú)立進(jìn)程去完成,下載任務(wù)在任務(wù)情況下(包括后臺(tái)時(shí))都會(huì)繼續(xù)進(jìn)行。
Silent Remote Notifications
所以說,現(xiàn)在的iOS不是“假后臺(tái)”,是“智能后臺(tái)”
如果四年前說iOS是“假后臺(tái)”也沒多大問題,但時(shí)至今日,iOS已經(jīng)進(jìn)化了很多,尤其是后臺(tái)的管理也發(fā)現(xiàn)了質(zhì)的變化,所以今天再說它是假后臺(tái),就有些以訛傳訛。準(zhǔn)確地說,iOS是“智能后臺(tái)”。
網(wǎng)友解答:普及一下iOS的后臺(tái)機(jī)制,iOS app在切到后臺(tái)后(包括home鍵,鎖屏鍵,黑屏等)基本有3種形式:
1.繼續(xù)運(yùn)行,這類app需要申請(qǐng)相應(yīng)的權(quán)限,比如定位,音樂播放,voip等,正宗的后臺(tái)運(yùn)行。
2.掛起狀態(tài),也就是app暫停執(zhí)行,但所有的狀態(tài)都在,并且一直占用內(nèi)存,這類app在系統(tǒng)資源緊張時(shí)會(huì)被系統(tǒng)殺掉,下次進(jìn)入就會(huì)重新加載,所以2G內(nèi)存體驗(yàn)要比1G好的多,不會(huì)頻繁殺app。
3.掛起-運(yùn)行切換狀態(tài),也就是剛切入后臺(tái)時(shí)是掛起的。但后面可能被某些事件喚醒,來處理或者更新數(shù)據(jù),比如遠(yuǎn)程推送,后臺(tái)刷新,定位服務(wù)等,這類app一直會(huì)在掛起-運(yùn)行狀態(tài)之間切換,大部分時(shí)間都是掛起狀態(tài)。
可以說iOS的后臺(tái)機(jī)制是非常智能的,某些android用戶以“假后臺(tái)”來黑iOS是很愚蠢的。