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