為什麼很多手機有3G RAM這麼虐心的配置?


如果題主用過32位XP就應該聽說過XP不支持4G內存的說法,知乎上類似的討論有很多,比如我回答過的:為何微軟不在新的操作系統中讓 32 位支持大於 4GB 的內存? - 計算機,這裡就有比較詳細的關於32位和4G內存的討論。

手機其實也面臨著類似這種困境,市面上還有很多手機都是使用的32位系統,由於軟體或者硬體的兼容性問題,而遲遲無法升級到64位(實際上硬體都支持),對於32位系統來說,不管是x86的指令集還是ARM的指令集,4GB的物理地址空間都要分出一段來做硬體內存的映射:Memory-mapped I/O,所以,即使是給手機裝了4G內存,手機也面臨著無法有效使用4G內存的狀況,會像XP一樣,裝了4G,但可用內存只有2-3G。

安卓確實有64位版本,但不意味著直接拿來就可以用,BSP、硬體驅動都要跟著改,甚至上層的一些應用也要跟著改,甚至不排除某些東西要重寫,所以廠商雖然有的想升級,但考慮到穩定性和開發成本,這個升級過程不會是一下就完成的。

解決方法要麼是用類似於x86的PAE模式,要麼就是升級到64位系統,前者會增加系統的複雜度(要改驅動,,不清楚ARM上對PAE的支持情況),後者會佔用更多的內存(一般64位系統內存最少應該是1G,要流暢使用,推薦是2G),兩個方案都不是太好的選擇。

所以,考慮到成本、兼容性、開發難度等原因,廠商選擇了3G內存的配置,注意不是1.5G*2,而是1G*3,這樣做的好處是保持手機仍然是32位系統,省去了開發64位系統的負擔和風險,保持兼容性,並最大可能的提高手機的硬體配置。

所以3G內存是算是一個不錯的選擇。


知足吧,當初還有 RAM是 768的呢,就是512+256.

你感受下?


因為64位CPU還比較少


1g內存才叫虐心,打開知乎,後台音樂進程分分鐘就殺了,窮人路過……


如果rom優花好1g內存完全夠用了,其實android和win真的很不同,win系列除去預讀其實初始內存真的很少,16內存的2003啟動也是占不夠600m;android就坑爹了,2g內存的機子系統佔用0.9g…… 而且android機子內存大其實也蠻傻逼的,每個程序初始申請的程序都是一定的,然後程序再根據需要向系統申請內存(卡的時候),你機子內存再大,程序初始申請的內存還是那麼點(為了照顧低端機),所以無自啟動的情況下,單開程序大多都不會卡,卡的是多開; 而多開幾個程序卡是必然的,程序「關閉」後還存在在內存中……
---------------------------------------------------------------------------------------------------------------------------------
不相信的人可以改改build.prop中的dalvik.vm.heapsize 這類數值,對比一下就知道android系統內存機制是咋樣操作的……


因為3是奇數嗎?


我用過512的,那酸爽


以前用的是一代里程碑,其實那時候來說性能是還行的,就是256的內存,實在是…


樓主語文沒學好


3虐心?那讓512怎麼活?


用過128MB運行內存256MB存儲的山寨機用戶不說話
(自己用並不覺得多卡,因為控制好了後台運行程序。但只要給別人用一定卡 )


推薦閱讀:

中國用戶願意為哪些類型的手機應用付費?
大家有哪些好的 Android 開發習慣?
如何評價索尼 Xperia Z2 手機?
對於手機遊戲公司來說,內購機制比付費下載更賺錢嗎?為什麼?
魅族是如何掉隊的?

TAG:智能手機 | Android 手機 | 內存 (RAM) |