據(jù)Android Central網(wǎng)站報(bào)道,vivo 乎要推出一款運(yùn)行內(nèi)存容量高達(dá)10GB的手機(jī)。這意味著這款手機(jī)運(yùn)行內(nèi)存容量堪比許多游戲PC,比大多數(shù)手機(jī)多約6GB。這讓許多手機(jī)用戶都感到迷惑不解,心里直嘀咕:手機(jī)真的需要10GB運(yùn)行內(nèi)存嗎?這是否意味著配置4GB運(yùn)行內(nèi)存的手機(jī)過時了? 這并非我們首次聽說配置大量運(yùn)行內(nèi)存的手機(jī)。一加5T有配置8GB運(yùn)行內(nèi)存的版本,配置6GB運(yùn)行內(nèi)存的手機(jī)已經(jīng)相當(dāng)普遍。本文將闡述什么是運(yùn)行內(nèi)存、手機(jī)如何使用運(yùn)行內(nèi)存、為什么有的手機(jī)配置的運(yùn)行內(nèi)存容量是“必需量”的250%。 運(yùn)行內(nèi)存是個什么鬼? 運(yùn)行內(nèi)存其實(shí)就是RAM(Random Access Memory,隨機(jī)存取存儲器)——一種短期數(shù)據(jù)存儲設(shè)備。計(jì)算機(jī)(是的,你的手機(jī)就是計(jì)算機(jī))主要利用RAM存儲活躍應(yīng)用——以及CPU(中央處理器)和操作系統(tǒng)內(nèi)核——正在使用的數(shù)據(jù),因?yàn)镽AM讀、寫數(shù)據(jù)的速度非??臁.?dāng)需要“馬上”讀取或?qū)懭霐?shù)據(jù)時,即使是速度最快的硬盤或閃存存儲裝置都感覺慢,雖然手機(jī)處理器有自己的緩存,但它們通常容量并不大。 以上一代高通旗艦手機(jī)芯片驍龍835為例,它為高性能內(nèi)核配置有2MB緩存,為低性能內(nèi)核配置有1MB緩存。2MB緩存僅僅只夠存儲現(xiàn)在正在使用的數(shù)據(jù),因此手機(jī)需要存儲裝置來存儲接下來會使用到的數(shù)據(jù)。 對于使用手機(jī)硬件的任何應(yīng)用來說,操作系統(tǒng)內(nèi)核充當(dāng)著交通警察的角色。當(dāng)游戲或應(yīng)用需要繪制新畫面時,手機(jī)為此生成的數(shù)據(jù)會存儲到運(yùn)行內(nèi)存中——操作系統(tǒng)可以對這些數(shù)據(jù)進(jìn)行解析,讓CPU和圖形處理器進(jìn)行需要的處理,然后把處理好的顯示數(shù)據(jù)發(fā)送給顯示屏,這樣,顯示屏恰當(dāng)?shù)奈恢镁涂梢燥@示色彩恰當(dāng)?shù)南袼亓恕?/p> 這聽起來相當(dāng)復(fù)雜——事實(shí)也確實(shí)如此,不過,用戶需要理解的也就是3點(diǎn):運(yùn)行內(nèi)存用于短期存儲數(shù)據(jù);存儲在運(yùn)行內(nèi)存中的數(shù)據(jù)可以高速讀寫;關(guān)閉手機(jī)時,存儲在運(yùn)行內(nèi)存中的數(shù)據(jù)就會被刪除。只要手機(jī)一開機(jī),一部分運(yùn)行內(nèi)存就會被占用,其他應(yīng)用,甚至操作系統(tǒng)都不能使用這些運(yùn)行內(nèi)存。這基本上適用于任何計(jì)算機(jī),它們(幾乎)都有RAM,而且使用RAM的方式與手機(jī)相同。 手機(jī)如何使用運(yùn)行內(nèi)存 手機(jī)中的運(yùn)行內(nèi)存,主要被正在運(yùn)行的應(yīng)用用來存儲它們的數(shù)據(jù)。用最簡單的話說,這意味著運(yùn)行內(nèi)存容量越大,能在后臺運(yùn)行的應(yīng)用就越多,而且運(yùn)行速度不會因此受到影響。但是,與大多數(shù)事物一樣,手機(jī)運(yùn)行的應(yīng)用數(shù)量與運(yùn)行內(nèi)存容量之間的關(guān)系遠(yuǎn)非這么簡單。在Android啟動并開始運(yùn)行前,手機(jī)中的一部分運(yùn)行內(nèi)存就已經(jīng)被占用。 Android Central在本文中不會討論底層硬件管理或像壓縮緩存這樣的技術(shù),但這是手機(jī)使用它配置的運(yùn)行內(nèi)存的基本方式。 ·內(nèi)核空間:Android手機(jī)的底層軟件是Linux內(nèi)核。Linux內(nèi)核存儲在一個特別類型的壓縮文件中,在手機(jī)接通電源后直接提取到運(yùn)行內(nèi)存中。保留的運(yùn)行內(nèi)存用于存儲Linux內(nèi)核、驅(qū)動程序和用來控制硬件的內(nèi)核模塊,以及用于緩沖進(jìn)、出內(nèi)核的數(shù)據(jù)。 ·用于虛擬文件的虛擬內(nèi)存盤:在系統(tǒng)樹中,部分文件夾和文件并非是“實(shí)際”存在的,它們是在設(shè)備啟動時寫入的偽文件,存儲電池電量和CPU速度等數(shù)據(jù)。在Android中,整個/proc文件夾是多個偽文件系統(tǒng)之一。它們就利用了保留的運(yùn)行內(nèi)存。 無線網(wǎng)絡(luò)信息:有關(guān)IMEI(國際移動電話設(shè)備識別碼)和頻譜設(shè)置的數(shù)據(jù)存儲在NVRAM(非揮發(fā)性內(nèi)存,關(guān)掉手機(jī)時存儲在這些內(nèi)存中的數(shù)據(jù)不會被刪除)中,當(dāng)首次打開手機(jī)時,它們以及支持調(diào)制解調(diào)器所需要的軟件,會被傳輸?shù)竭\(yùn)行內(nèi)存中。系統(tǒng)將預(yù)留部分運(yùn)行內(nèi)存用來存儲這些數(shù)據(jù)。 圖形處理器:手機(jī)中的圖形處理器也需要內(nèi)存才能發(fā)揮作用。它使用的內(nèi)存被稱作顯存,手機(jī)采用的是集成顯卡,本身沒有配置專門的顯存,系統(tǒng)將預(yù)留部分運(yùn)行內(nèi)存用作顯存。 Android Central表示,當(dāng)手機(jī)完成這些步驟并成功啟動、運(yùn)行后,剩下的就是手機(jī)運(yùn)行應(yīng)用所需要的可用運(yùn)行內(nèi)存了。系統(tǒng)將預(yù)留部分可用運(yùn)行內(nèi)存用于需要快速完成的任務(wù)(例如底層操作系統(tǒng)功能和內(nèi)部操作),不過它通過一種被稱作設(shè)置空閑頁面最小值的方式預(yù)留運(yùn)行內(nèi)存。 這些基于軟件的設(shè)置,是由開發(fā)操作系統(tǒng)和手機(jī)內(nèi)核的開發(fā)者設(shè)定的,它能使空閑的運(yùn)行內(nèi)存數(shù)量達(dá)到最小(因此被稱作minfree),因此,這些底層功能可以在有需要時運(yùn)行,無需等待其他應(yīng)用釋放內(nèi)存。 這也是設(shè)置中的可用運(yùn)行內(nèi)存容量不同于手機(jī)配置的運(yùn)行內(nèi)存容量的原因所在。手機(jī)確實(shí)配置有宣稱的運(yùn)行內(nèi)存容量,但部分運(yùn)行內(nèi)存(通常約為1GB)將被保留用于其他目的。其他應(yīng)用爭奪剩下的運(yùn)行內(nèi)存。 沒有使用的運(yùn)行內(nèi)存都浪費(fèi)了 關(guān)于Android和內(nèi)存管理,你可能聽說過這樣的說法。這都與Linux有關(guān),就像Ubuntu一樣,Android是一款基于Linux內(nèi)核的操作系統(tǒng)。這意味著,Android會盡快在運(yùn)行內(nèi)存中塞滿應(yīng)用以及它們的相關(guān)數(shù)據(jù),并保持運(yùn)行內(nèi)存被“塞滿”的狀態(tài),只留下空閑頁面最小值大小的運(yùn)行內(nèi)存,用于底層操作系統(tǒng)功能和內(nèi)部操作。 這種方式不同于Windows,Mac分配內(nèi)存的方式與Android系統(tǒng)非常相似。Windows為需要內(nèi)存的應(yīng)用提供空閑內(nèi)存。Linux會讓應(yīng)用停留在運(yùn)行內(nèi)存中,直至其他應(yīng)用或功能需要內(nèi)存。這也取決于手機(jī)廠商設(shè)置的空閑頁面最小值。 根據(jù)應(yīng)用和進(jìn)程的功能、運(yùn)行方式、上次在屏幕上顯示內(nèi)容的時間,應(yīng)用和它們的進(jìn)程會被賦予一個優(yōu)先級。當(dāng)用戶想打開一款新應(yīng)用時,優(yōu)先級較低的應(yīng)用會被關(guān)閉,使新應(yīng)用獲得它所需要的運(yùn)行內(nèi)存。 在使用手機(jī)時,用戶會使用許多相同的應(yīng)用而非其他應(yīng)用。這些應(yīng)用通常駐留在運(yùn)行內(nèi)存中,并保持運(yùn)行狀態(tài),以便用戶可以立即使用它們。運(yùn)行內(nèi)存處于空閑狀態(tài),意味著應(yīng)用需要重新啟動進(jìn)程,用戶才能與應(yīng)用交互,與讓應(yīng)用駐留在運(yùn)行內(nèi)存中相比,這會降低手機(jī)運(yùn)行速度,能耗也更高。 對于Android(或iOS)手機(jī)來說,情況確實(shí)如此,但對于Windows計(jì)算機(jī)或Chromebook來說并非如此,因?yàn)樗鼈円圆煌绞焦芾韮?nèi)存。 手機(jī)配置更多運(yùn)行內(nèi)存有什么好處? 讀者已經(jīng)知道了簡單的答案,因?yàn)樯衔闹幸呀?jīng)給出來了——能在后臺運(yùn)行更多應(yīng)用,但詳細(xì)的答案要有趣得多。 對于普通Android手機(jī)來說,8GB或10GB運(yùn)行內(nèi)存絕對是過量的。對于Nexus、Android One/Android Go手機(jī)來說,啟動后有1.5 - 2GB空閑運(yùn)行內(nèi)存就可以流暢地運(yùn)行了。Galaxy S8也是如此,但是,它設(shè)置的空閑頁面最小值需要使主屏應(yīng)用(用戶界面)保持開啟狀態(tài),使用部分預(yù)留運(yùn)行內(nèi)存。 三星用戶界面相當(dāng)耗費(fèi)資源,從Galaxy S6開始,它在這方面的舉措非常聰明,消除了大多數(shù)主畫面延遲。可以這樣說:三星干得漂亮! 從上文中我們可以明白,像Galaxy S8這樣的手機(jī)需要配置更多運(yùn)行內(nèi)存。由于大多數(shù)手機(jī)都配置有4GB運(yùn)行內(nèi)存,它們在這方面沒有真正的區(qū)別,Nexus手機(jī)僅有略微多一點(diǎn)的運(yùn)行內(nèi)存供另外1、2個應(yīng)用在后臺運(yùn)行,因?yàn)槠溆脩艚缑娌恍枰噙\(yùn)行內(nèi)存。 這也是三星、LG、HTC和其他廠商,包含在需要提升性能時殺死在空閑頁面最小值之外運(yùn)行進(jìn)程方法的原因。如果關(guān)閉能關(guān)閉的所有應(yīng)用,尚未進(jìn)入運(yùn)行內(nèi)存的應(yīng)用啟動速度會略微加快。 如果想讓手機(jī)完成更多工作,例如使用像三星DeX擴(kuò)展塢這樣的設(shè)備使手機(jī)變身為臺式機(jī),容量更大的運(yùn)行內(nèi)存就是一大福利了。例如,除上文中所說的正常水平外,DeX會將更多運(yùn)行內(nèi)存用作顯存,為自己留出相當(dāng)數(shù)量的運(yùn)行內(nèi)存,這樣,其他應(yīng)用或進(jìn)程的運(yùn)行也不會受到影響。 對于開發(fā)者來說,如果是為配置“額外”運(yùn)行內(nèi)存的手機(jī)開發(fā)應(yīng)用,他們可以更有創(chuàng)意。 理想情況下,配置超額物理運(yùn)行內(nèi)存的手機(jī)(例如6GB運(yùn)行內(nèi)存,也就是說超額2GB),可以在用戶界面中使用支持DMA(直接內(nèi)存存?。┑尿?qū)動程序。這一技術(shù)在手機(jī)啟動時,會預(yù)留部分運(yùn)行內(nèi)存,僅用于主畫面、觸摸輸入和讓手機(jī)快速響應(yīng)的其他操作,而對在非DMA預(yù)留運(yùn)行內(nèi)存中運(yùn)行的應(yīng)用或進(jìn)程坐視不理。 雖然手機(jī)并不需要更多運(yùn)行內(nèi)存,但總是會使用更多運(yùn)行內(nèi)存。 這將使操作系統(tǒng)內(nèi)核管理一部分運(yùn)行內(nèi)存,但方式不同于為設(shè)置空閑頁面最小值而使用的內(nèi)存映射參數(shù)。應(yīng)用和操作系統(tǒng)仍然控制著主屏用戶界面提供的輸入和輸出,但應(yīng)用不能覆蓋這部分運(yùn)行內(nèi)存中的任何數(shù)據(jù),用戶界面隨時準(zhǔn)備對輸入作出反應(yīng)。 現(xiàn)在,把這一理念擴(kuò)展到“游戲模式”或桌面解決方案,或者其他特殊的Android手機(jī)使用方式。在留出額外運(yùn)行內(nèi)存用于玩3D游戲(不會殺死后臺應(yīng)用),或者把手機(jī)放入支架或筆記本外殼中,使之工作在桌面模式中時,手機(jī)有足夠運(yùn)行內(nèi)存供系統(tǒng)正常運(yùn)行。 運(yùn)行內(nèi)存很便宜 更多運(yùn)行內(nèi)存會讓配置清單看起來更漂亮 配置更多運(yùn)行內(nèi)存的手機(jī)型號價格更高,但其中大部分原因是,這意味著廠商需要生產(chǎn)另外一種型號手機(jī),需要維護(hù)另一份元器件清單。在批量采購時,運(yùn)行內(nèi)存芯片價格相當(dāng)?shù)土?。但?dāng)公布新產(chǎn)品時,配置6GB、8GB,甚至10GB的運(yùn)行內(nèi)存,會使配置清單看起來漂亮得多。 這會給人留下深刻印象,尤其是對科技愛好者和早期用戶來說。Android Central作者杰里·海登布蘭德(Jerry Hildenbrand)承認(rèn),這也會引起他的興趣。海登布蘭德喜歡看到經(jīng)過優(yōu)化的軟件能在最低配置的硬件上運(yùn)行,因?yàn)閷λ麃碚f,這是一種藝術(shù)。 編寫代碼非常迷人。但是,更多運(yùn)行內(nèi)存帶來的好處也讓海登布蘭德著迷,尤其是當(dāng)有一款手機(jī)集這兩者于一體時。配置8GB運(yùn)行內(nèi)存的手機(jī)會立刻吸引他的興趣,就像高分辨率顯示屏那樣。 手機(jī)廠商對此一清二楚。它們還知道,為手機(jī)配置更多運(yùn)行內(nèi)存,意味著它們無需對軟件進(jìn)行大量優(yōu)化(成本高昂而且浪費(fèi)時間),也可以為它們自己的定制版Android增加更多功能。 無論如何,總是會有用戶僅僅因?yàn)楦噙\(yùn)行內(nèi)存而購買這樣的手機(jī)。這使得增加的成本物有所值,因?yàn)槿藗冇懻摦a(chǎn)品對廠商而言是無價的。 在東方市場這一點(diǎn)尤其重要。在中國和印度(顯示出最大增長潛力的市場),具有令人印象深刻配置的手機(jī)賣得更好,因?yàn)楦嗟闹袊陀《热讼M麚碛心芙o人留下深刻印象的硬件。迎合客戶需求是明智的。 Android Central稱,看到這里時,讀者可能已經(jīng)明白了,目前自己真的不需要運(yùn)行內(nèi)存容量超過4G的手機(jī)。 不過,隨著手機(jī)具備的功能越來越多,這種情況可能會發(fā)生改變,這也是為什么Nexus One配置1GB運(yùn)行內(nèi)存,而Pixel 2配置4GB運(yùn)行內(nèi)存的原因。 意識到4或6GB運(yùn)行內(nèi)存對于新創(chuàng)意和功能的潛力是重要的。在購買手機(jī)時,沒有必要把配置更大容量運(yùn)行內(nèi)存作為唯一因素,但也不能把它認(rèn)為只是一個噱頭。 |
|