曾幾何時,,iPhone 手機(jī)以不殺后臺進(jìn)程聞名,。在安卓諸多品牌受困于后臺進(jìn)程之際,,iPhone 手機(jī)卻能保留大量后臺進(jìn)程,,隨意打一個視頻軟件,切換十幾個 App 之后后臺依然還在,,甚至連播放位置都與之前一模一樣,。 然而,近幾年不少 iPhone 用戶發(fā)現(xiàn),,蘋果手機(jī)似乎失去了當(dāng)初的魔力,。在使用過程中,常常遇到殺后臺問題,。比如打開 iPhone 玩游戲,,突然彈出一條微信消息,切出去回復(fù)消息,,再切回游戲發(fā)現(xiàn)游戲后臺已經(jīng)被強(qiáng)制關(guān)閉,,需要重新登錄進(jìn)入游戲。 ▲ 蘋果用戶反饋 對于手游愛好者來說,,“殺死”后臺進(jìn)程這一行為簡直難以接受。正在進(jìn)行的游戲,,可能因?yàn)楹笈_進(jìn)程被強(qiáng)制關(guān)閉而失敗,。除了內(nèi)存占用較大的游戲,微信,、QQ,、微博等常用軟件也經(jīng)常被殺死后臺進(jìn)程。曾經(jīng)有小伙伴跟小黑吐槽,,“iPhone 現(xiàn)在殺后臺也太嚴(yán)重了吧,,我微信一天啟動十幾次,孤獨(dú)小人看地球的照片我都看膩了”,。 復(fù)雜的后臺機(jī)制 從以不殺后臺進(jìn)程聞名到屢屢殺后臺,,期間 iPhone 手機(jī)究竟經(jīng)歷了什么?其實(shí),,iPhone 手機(jī)原先不殺后臺,,主要功勞在于墓碑機(jī)制,。 所謂墓碑機(jī)制,也就是當(dāng)一個程序被系統(tǒng)關(guān)閉后,,系統(tǒng)允許這個程序給自己立一個“墓碑”,,記錄著自己“生前”的模樣。等到再次使用時,,系統(tǒng)會照著它墓碑上的描述,,從閃存中加載到內(nèi)存中去。 換言之,,安卓系統(tǒng)是“真后臺”,,后臺 App 會占用大量系統(tǒng)內(nèi)存。iOS 系統(tǒng)是“假后臺”,,前臺獨(dú)占內(nèi)存空間,,后臺應(yīng)用會交換到手機(jī)的閃存,保存“關(guān)閉”前的狀態(tài),,釋放占用的硬件資源,,切換后臺應(yīng)用時,從閃存直接調(diào)用到內(nèi)存,。我們手勢上滑呼出的 iPhone 多任務(wù)界面,,其實(shí)只是近期使用過的 App 列表與快捷方式。 按照墓碑機(jī)制的原理,,iPhone 似乎可以無限制擴(kuò)大后臺常駐應(yīng)用,只要保留“假后臺”,,殺后臺問題就不會出現(xiàn),。然而,真實(shí)世界里不會出現(xiàn)如此完美的機(jī)制,,原因在于墓碑機(jī)制的缺點(diǎn),。 墓碑機(jī)制并非蘋果獨(dú)有,微軟曾經(jīng)的 WP 系統(tǒng)也有墓碑機(jī)制,。在 WP7 系統(tǒng)下,,微軟禁止任何第三方應(yīng)用在后臺運(yùn)行,這樣就不耗費(fèi)運(yùn)行內(nèi)存與處理器資源,,等到切換應(yīng)用時,,之前的應(yīng)用會恢復(fù)到關(guān)閉之間的狀態(tài),也就是墓碑機(jī)制,。 然而,墓碑機(jī)制決定了應(yīng)用進(jìn)入休眠狀態(tài),無法與外界產(chǎn)生聯(lián)系,。因此,,蘋果對墓碑機(jī)制進(jìn)行修正,在應(yīng)用完全進(jìn)入“墓地”之前,,蘋果還給它多種選擇,。在 iOS 系統(tǒng)中,應(yīng)用狀態(tài)分為五類,,分別為未運(yùn)行,、不活躍、活躍,、后臺與掛起,。 未運(yùn)行狀態(tài)即完全關(guān)閉狀態(tài),活躍狀態(tài)意味著應(yīng)用正在使用,。不活躍狀態(tài)意味著 App 停止運(yùn)行,,但是內(nèi)存依然占用,用于保持當(dāng)前狀態(tài),。后臺意味著應(yīng)用進(jìn)入后臺狀態(tài),一般會持續(xù)十分鐘,,十分鐘之后,,應(yīng)用將會自動轉(zhuǎn)為掛起狀態(tài)。在十分鐘后臺狀態(tài)下,, App 保持了多個接口,,包括 Background Audio 后臺音頻、Location Services 定位服務(wù),、VoIP 語音通話以及 Newsstand 新聞推送等等,,基本上與安卓后臺功能類似。 之前用戶感覺后臺應(yīng)用保持不變,,多半因?yàn)閼?yīng)用處于不活躍狀態(tài)與后臺狀態(tài),因此可以迅速恢復(fù)如初,。也就是說,,iPhone 不殺后臺,關(guān)鍵不是完全休眠,、不占用內(nèi)存的掛起狀態(tài),,而是占用一部分內(nèi)存的不活躍狀態(tài)與后臺狀態(tài)。 內(nèi)存調(diào)用機(jī)制失衡 蘋果手機(jī)應(yīng)用五種存在狀態(tài)決定了 iOS 系統(tǒng)的流暢程度,,墓碑機(jī)制的存在讓蘋果以小內(nèi)存抗衡安卓大內(nèi)存手機(jī),。然而,隨著手機(jī)軟件內(nèi)存占用空間越來越大,,iPhone 內(nèi)存調(diào)用機(jī)制逐漸失衡,。 在正常情況下,,iOS 將應(yīng)用內(nèi)存分為活躍內(nèi)存與非活躍內(nèi)存,那些處于不活躍狀態(tài)與后臺狀態(tài)下的應(yīng)用,,所占用的內(nèi)存處理器并沒有讀取它們,,但它們依然被放在內(nèi)存中處于待命狀態(tài)。如此一來,,才會有迅速恢復(fù)如初的表現(xiàn),。 然而在非常情況下,,比如當(dāng)前運(yùn)行軟件需要更多活躍內(nèi)存時,,系統(tǒng)就會選擇性釋放掉不活躍狀態(tài)軟件與后臺軟件所占用的非活躍內(nèi)存,讓他們直接進(jìn)入掛起模式,??障聛淼膬?nèi)存轉(zhuǎn)為活躍內(nèi)存,從而讓活躍應(yīng)用擁有更好的體驗(yàn),。 簡而言之,,iOS 系統(tǒng)充分利用所有內(nèi)存空間,如果有多余內(nèi)存就分配給處于不活躍狀態(tài)與后臺狀態(tài)下的應(yīng)用,,讓他們隨時待命,。可當(dāng)前臺活躍應(yīng)用占用空間過大,,靈活的內(nèi)存分配模式就會失衡,。 在日常使用中,很多用戶發(fā)現(xiàn),,一旦打開相機(jī)應(yīng)用,,殺后臺現(xiàn)象就會變得異常嚴(yán)重。其實(shí),,原因正是因?yàn)橄鄼C(jī)應(yīng)用需要調(diào)用非常大的活躍內(nèi)存,,大量擠占非活躍內(nèi)存空間,那些不活躍應(yīng)用與后臺應(yīng)用都會變成休眠掛起狀態(tài),。等到用戶拍完照片之后,,切回后臺應(yīng)用,自然發(fā)現(xiàn)需要重新加載,。 ▲ iPhone 內(nèi)存普遍不大 另一方面,使用較大內(nèi)存的 iPhone 手機(jī),,很少會出現(xiàn)殺后臺問題,。比如 iPhone 12 Pro Max 與 iPhone 13 Pro Max,擁有 6G 運(yùn)行內(nèi)存,雖然比不上動輒 8G,、12G 的安卓手機(jī),,可在蘋果手機(jī)中,這樣的配置已經(jīng)屬于頂級,。擁有更大的內(nèi)存,,讓 iPhone 12 Pro Max 與 iPhone 13 Pro Max 在內(nèi)存調(diào)用時擁有更大空間,可以合理分配活躍內(nèi)存與非活躍內(nèi)存,。 世界上并不存在完美的墓碑機(jī)制,iPhone 手機(jī)“不殺后臺”,,是因?yàn)槠湎到y(tǒng)會合理分配應(yīng)用狀態(tài),,五個級別分別給予不同的內(nèi)存占用待遇。然而,,這一切都無法逃脫物理限制,,也就是 iPhone 手機(jī)自身的運(yùn)行內(nèi)存大小。 如何減少“殺后臺”現(xiàn)象 世界在不斷變化,,軟件越來越大,,即使強(qiáng)如蘋果,也難以應(yīng)付“殺后臺”問題,。特別是 iPhone 手機(jī)使用壽命長,,很多 iPhone 機(jī)主還在使用 iPhone8 甚至 iPhone7 手機(jī)。老舊的手機(jī)意味著運(yùn)行內(nèi)存小,,一個 2G 運(yùn)存的 iPhone 手機(jī)無論如何也避免不了“殺后臺”問題。因此,,在能力范圍內(nèi),,小伙伴們最好更換大運(yùn)存 iPhone 手機(jī),以此從根本上避免“殺后臺”現(xiàn)象,。 當(dāng)然,iPhone 大運(yùn)存手機(jī)基本都是頂級配置,,售價動輒在一萬元以上,,并不是物美價廉的選擇。對于不愿意換手機(jī)的小伙伴,,或許可以從細(xì)節(jié)入手,,減少殺后臺現(xiàn)象發(fā)生。 首先,,需要注意的是不要頻繁調(diào)用相機(jī)應(yīng)用,,因?yàn)橄鄼C(jī)需要占用很多內(nèi)存,這一點(diǎn)難以避免。在玩游戲,、寫稿,、看視頻過程中,不要隨意打開相機(jī)應(yīng)用,,免得后臺進(jìn)程被關(guān)閉,。 其次,在設(shè)置中找到“后臺應(yīng)用刷新”,,為經(jīng)常使用的應(yīng)用開啟該功能,,其他應(yīng)用一律關(guān)閉。這樣做的好處在于保持常用應(yīng)用后臺使用,。 前面小黑提到,iOS 系統(tǒng)為應(yīng)用設(shè)置了五種狀態(tài),,而后臺應(yīng)用刷新可以讓應(yīng)用保持非活躍狀態(tài),,從而保持較高的權(quán)限等級。系統(tǒng)在清理后臺應(yīng)用時,,優(yōu)先清理沒有后臺刷新的應(yīng)用,,其次才會選擇后臺刷新應(yīng)用。 如此一來,,以犧牲其他應(yīng)用為基礎(chǔ),,保證常用應(yīng)用的使用。當(dāng)然,,這招治標(biāo)不治本,,小伙伴們可以試一下,并不能百分百奏效,,具體效果還得看用戶打開的應(yīng)用數(shù)量與活躍應(yīng)用占據(jù)內(nèi)存空間,。 在智能手機(jī)領(lǐng)域,iOS 系統(tǒng)可謂是王者級別,??稍俸玫南到y(tǒng)也無法突破物理極限,應(yīng)用越來越大,,內(nèi)存占用越來越多,,iOS 系統(tǒng)即使再智能也無法合理分配內(nèi)存空間。俗話說,,巧婦難為無米之炊,,內(nèi)存空間小,強(qiáng)如 iOS 系統(tǒng)也無能為力,。與其期望 iOS 系統(tǒng)化腐朽為神奇,,還不如指望庫克幡然醒悟,,大幅度提高 iPhone 手機(jī)運(yùn)存大小。 圖源:蘋果,、谷歌,、pixabay |
|