對於安卓黨來說,在選購新機時經常會糾結是買8G運存版還是12G運存版,甚至是更大的16G運存版,他們覺得運存越大代表手機「越流暢」。從安兔兔在今年Q2季度發布的統計數據來看,國內安卓用戶中選擇8G內存的幾乎佔到了一半,用上12G內存的用戶也不少,當然在其他份額中必然也包含了部分已經用上16G運存的用戶。除了價格差異之外,內存的不斷擴大到底能給性能帶來多大的提升呢?
首先我們可以了解一下目前性能最強的內存晶片,也是三星於近日剛剛量產的最新LPDDR5 內存晶片,它的數據傳輸速度可以達到6400Mbps,與市面上的12G LPDDR5相比傳輸速度快了16%左右,在封裝過後,每秒鐘傳輸的數據大小為51.2GB。而安卓機為何需要不斷地去提升這些性能呢?其實這與安卓自身的「缺陷」有關。
開機立馬少一半?
一些用安卓機的用戶可能知道,就算手機後臺沒有運行任何的應用程式或是剛重啟,運行內存也只會剩下一半左右(12G、16G同樣如此)。這主要是因為安卓在開機後,為了保證系統穩定運行,會自啟動一系列系統應用,當然也有一些是用戶自己選擇自啟動的。從這張截圖就能看出,在清理完後臺後,仍有不下於15個系統應用在後臺「悄悄運行」,而且大多數應用還是不能隨便停用的,否則可能會導致系統崩潰。
至於為什麼會出現卡頓和殺後臺的現象,我們需要先了解一下安卓的運行原理,安卓是基於Linux內核所開發的開源系統,當用戶在安卓手機上啟動一個新應用時,Linux內核就會創建一個新進程,這個進程是有著自己虛擬地址執行單元。當用戶開啟的應用越多,CPU和I/O(讀寫速度)就會越繁忙,不過工作依然會完成,只不過速度會慢一點。但如果手機本身沒有足夠的內存來處理這些工作的話,那就不是速度的問題,基本上這個應用。
因此,當內存不足時,系統會殺死當前在內存中的進程,為新的進程騰出空間。系統內核會進行各種測試和檢查,來決定哪些進程可以被殺掉以釋放內存。舉個最簡單的例子,當你打開微博看了一小會兒後就掛在後臺,當手機認為自身內部運存空間已經不夠時,就會「殺」掉微博來釋放內存,從而保證當前打開的應用能夠正常運行。
一些流氓軟體會「故意」佔用安卓機內部的運存,更麻煩的是它們會相互喚醒,並且常駐後臺,傳統的清後臺方法也治不了它。所以我們在安裝一些軟體的時候一定要看清楚,哪些軟體是需要給到自啟動權限的,哪一些又是不需要的。
當然也不用太過於擔心所剩內存太少,由於安卓特殊的機制,它總會給你提前緩衝一些後臺應用,這樣做的目的是加快應用下次啟動的速度,不必每次運行應用都要等待加載。當你需要開啟一個大型應用時,它就會把這些沒必要運行的後臺應用給踢出去,只要你開的應用數量不多,是不會影響到手機正常使用的,所以用戶確實不用太過於在意手機運存只剩多少多少。
小運存的iOS是怎麼做到流暢的?
可能有些用戶看到這裡就會問,為什麼隔壁的iOS只有4G運存(最大6G),體驗卻完全不比12G甚至是16G運存的安卓差多少呢?前文也提到了,安卓系統是基於Linux開發的,而iOS系統是基於unix平臺開發,它是一個與硬體分離的軟體體系結構,這使得用戶在打開應用時不需要額外建立一個虛擬機。同時iOS系統對於後臺限制十分嚴格,並擁有絕對的權限,當用戶允許開啟時,應用才會運行,互相喚醒程序這種騷操作也就不會發生。
還有一個很重要的原因就是iOS是統一由蘋果官方伺服器來推送消息。比如微信的消息,對方的消息先是要傳送到微信伺服器上,然後微信伺服器再傳送到蘋果伺服器,最後蘋果伺服器才將消息送至用戶手機上,提醒用戶某個APP有新的消息,從而不需要後臺運行太多程序也能相應的APP通知。
當iOS檢測到你當前運行的軟體需要更多活躍內存時,系統會選擇性地釋放掉後臺應用所佔用的非活躍內存,然後用來提供給當前軟體。而這個釋放是根據用戶的使用習慣而定,比如用戶經常用QQ,其次是微信。那麼當前臺內存不足時系統會優先釋放掉微信佔用的內存,若還不夠才會繼續釋放QQ所佔用的內存。
雖然iOS在軟體限制上要比安卓嚴格得多,但硬體之間的差距還是十分明顯的,相信不少正在使用iPhone的用戶都能感覺到如今的iPhone殺後臺現象同樣十分嚴重。尤其是後臺放著相機這類應用時,只要幾分鐘不去看它,就會自動重載。這是因為目前的iPhone最大運行內存只有6G,這種「先天缺陷」是軟體算法所無法彌補的。
安卓內存何時是個頭?
安卓手機之所以不斷在運行內存這方面做文章是因為安卓系統一直在不斷地加入一些新功能,這會使得安卓系統越來越「臃腫」。再加上大部分廠商都會對原生的安卓系統進行私家定製,國內廠商在定製UI時會給手機系統裝上一個全家桶,雖然這個全家桶中的部分軟體可以嚴格管理後臺進程權限並「殺」掉一些不符合要求的任務進程的來換取系統的流暢性。但這個全家桶的加入就會讓這些定製UI更為臃腫,也更加吃性能。
再加上如今的APP也在不斷地更新迭代,不斷地加入一些新功能,讓APP自身「體積」越來越大的同時也會「吃」掉更多的運存。比如《王者榮耀》在剛推出時,只需要一部3G運存的手機就能流暢運行,而到了現在,流暢運行需要8G左右的運存,如果想要有更好的遊戲體驗(調高畫質等選項),就需要12G左右的運存了。
雖然有不少人表示8G、12G就夠用了,再大一點就是「性能過剩」,這句話完全是無稽之談。雖然我並不提倡性能至上的觀點,但手機性能向上發展是一種不可阻止的趨勢,並且隨著智慧型手機給未來生活帶來更多可能性,手機自然也需要更強的硬體來支撐,「性能過剩」這個現象是絕不可能在手機上發生的。或許在明年我們就能看到一部擁有24G運行內存的手機,在未來甚至有趕超電腦的趨勢。
還有一點是因為目前手機廠商都會將自己的產品分為高中低端三個系列,除了在處理器、相機、充電等方面有所差別,在運存方面也會有著一定的差距。畢竟用戶在購買手機時,第一看重的是處理器以及運存大小,他們認為更大的運存會提供更流暢的體驗,先不說提升究竟大不大,但這確實是一種營銷手段,也是廠商一種秀肌肉的方式。
說來說去,內存這個東西就是拿來用的,安卓用戶不必因為看到自己所剩內存只有三分之一左右就開始抱怨,只要不影響到日常使用即可。iOS和安卓各有各的好處以及缺點,在時代的催促下,手機廠商也會不斷升級自己的產品。或許未來有一天,智慧型手機的性能將不再成為體驗的重要基礎,也不需要多麼誇張的運存容量。但目前看來,這一天貌似還比較遙遠。