1G RAM手機,總共可用記憶體 - Android

Table of Contents

※ 引述《T60 (Venetian)》之銘言:
: 以下列出一些1G RAM的手機,扣掉系統佔用後,總共可用記憶體
: (註:這個是不計入blur/Sense/TouchWiz的佔用,而是真實總共記憶體哦)
: Galaxy S2 → 約837MB
: Galaxy Note → 約800MB
: Galaxy Nexus → 約631MB (誰能告訴我,怎麼會這樣少?)
: Galaxy I9103 → 約724MB
: HTC EVO 3D → 約808MB
: MOTO RAZR → 約928MB (機王!)
: Atrix ME865 → 約700MB
: 補充一下,記憶體768MB機種
: (有空的補充一下)
: Desire HD 刷unity v10 kernel →約621MB (幾乎跟Galaxy Nexus一樣了)
: Sensation XE →約563MB
手機可用RAM的問題
有兩個部份會消耗掉你看得到的RAM

I. 以Qualcomm的架構來說,低消有三種CPU在跑三種OS
隨不同的系統架構可能有更多塊

1. Modem Processor:

只要電話功能開著就不睡覺,比較省電,負責跑打電話之類的功能
以前是用ARM9,現在Snapdragon S2以上升級到ARM11

2. Application Processor:

主CPU,也就是一般說1GHz, 1.5GHz,四核、雙核的那顆,就是拿來跑Linux的

3. Digital Signal Processor(DSP):
拿來運算圖形影像聲音等用的,算是一顆特殊用途的處理器,也需要自己的RAM和ROM

看哪一套平台,基本上Modem和DSP就會各吃掉64MB或128MB

II. 然後再來,顯示、相機、聲音部份,他們會需要用到連續的緩衝區
以顯示和相機來說叫做frame buffer
以Qualcomm的作法是開機時就固定配一塊給它

GPU至少要32MB或64MB以上,解析度越高要配越多
相機看你的相機等級,畫素越高就要越大
聲音還好,大不了就幾MB而已

這部份要做成OS列在最大可用記憶體或不列出來都沒差
但是反正也是會被佔掉的,列和不列就可以差到100MB

結論:

1. 根據memory layout不同所以看得到的大小會不同
畫面解析度越高,相機畫素越高,DSP越猛,就要佔掉越多的記憶體

2. 看得到和可以用不見得代表同一回事
physical memory只是一張table

其實要做也可以做到列出1024MB完整的記憶體
只是中間還是要挖洞給別人用,Linux不能用

3. 其實不見得要用到完整的64MB或128MB,有時候只是先預留
如果記憶體很不足的時候有些廠商會自己再去調整layout多榨幾MB出來

問題是64MB~256MB的年代大家比較願意做這種事
都已經1GB了做這種事就很浪費時間

4. 我是不覺得Android在free memory超過256MB以後會有什麼太決定性的差別
也許要請哪位高手指出開機後,可用256MB/384MB/512MB在效能上的差異

--

All Comments

Adele avatarAdele2012-02-28
我也想知道4.的差異
Frederic avatarFrederic2012-02-28
有些程式是會常駐記憶體的,這些程式裝很多時,還是會不夠用吧
Freda avatarFreda2012-03-01
推專業文,看看手邊的機器,還沒有可用RAM達到256MB的QQ
Tom avatarTom2012-03-01
沒去修改build.prop裡的dalvik.vm.heapsize的話 每支程式能
用的RAM 不是24M就是32M
Anthony avatarAnthony2012-03-02
不要亂動memory layout還有一個考量是 有東西要給chip
vendor debug的時候 memory layout差太多很困擾 XD
John avatarJohn2012-03-06
不過vendor一般也有document說如何改這些layout就是
Kyle avatarKyle2012-03-08
上面幾樓的推文很令人看不懂...囧
Lucy avatarLucy2012-03-11
1G RAM的手機 使用時可用RAM不一定有256啊
Tracy avatarTracy2012-03-15
還有比較新的QCT modem也不一定是ARM11 MSM的才是
MDM目前應該都還是ARM9 XD
Annie avatarAnnie2012-03-18
ram多就可以多些常駐程式,還是有差
Heather avatarHeather2012-03-22
常駐多=耗電多阿..XD
Daph Bay avatarDaph Bay2012-03-26
新一代的chip應該都會有iommu了吧, 一次在kernel弄一整塊
這種作法應該會慢慢消失....至於Free memory影響擇是在
NAND通常慢,所以你程式殺掉要重跑速度上就差很多..
Mia avatarMia2012-03-30
不過RAM多也會多消耗電,這部分其實也是有一些trade-off
Jacob avatarJacob2012-04-04
常駐多=耗電多這個說法其實不大正確,應該是DRAM要refresh
所以你的RAM越多吃電就越大,即使你把程式砍光光也是一樣
Lucy avatarLucy2012-04-06
不知道從Nand抓資料出來進ram比較耗電還是RAM大耗電
Erin avatarErin2012-04-11
撇開耗電的問題,NAND就是慢,一般來說我是覺得RAM越大越好
Kyle avatarKyle2012-04-11
在low-memory的時候,例如說free只有40以下
砍程式還有需要等原先程式執行完正常結束程序的時間
所以不是只有從NAND裡面載入的問題而已,會更慢
Elvira avatarElvira2012-04-13
如果只是單純從NAND裡面載入,那說慢也不會太慢
當然還是會比直接在記憶體裡面叫出來慢
所以也有一種策略是乾脆把常用的程式preload進來
Hamiltion avatarHamiltion2012-04-17
這樣在執行常用的task時就可以少等一、二秒
但是怎麼拿捏也是個學問,因為preload進來太多
free memory又變小了...
Andrew avatarAndrew2012-04-21
這時候如果要執行比較大的程式如遊戲,又會變得很慢
Zenobia avatarZenobia2012-04-24
這只是單純考慮到載入和結束的問題
Caitlin avatarCaitlin2012-04-25
還沒有考慮到程式很多如果在背景都有做事...thrashing的問題
Isla avatarIsla2012-04-29
我想ram的大小和發生這種從NAND交換資料的次數是有關的
Frederica avatarFrederica2012-05-03
至於耗電多少...還...蠻有趣的
Christine avatarChristine2012-05-06
需要分析XD
James avatarJames2012-05-06
推專業文!!簡而言之就是io速度的取捨;win7和vista也傾向
Lydia avatarLydia2012-05-10
把程式先放進記憶體;不過手機的flash隨機存取比電腦硬碟快
Frederica avatarFrederica2012-05-10
所以需不需要preload這麼多程式還需要再研究;
Audriana avatarAudriana2012-05-13
不過從群眾的經驗值可歸納出兩個現象:似乎不需preload程式
Una avatarUna2012-05-18
需要占到256mb記憶體 是怪獸級app吧...
Queena avatarQueena2012-05-22
因管理記憶體殺程式而造成問題的人不多
Brianna avatarBrianna2012-05-27
再者,記憶體越多越能吸引買氣...因為A系統還是需要記憶體
Sandy avatarSandy2012-05-28
現存htc的機種都屬於preload多,ram少的...與群眾希望相反
Aaliyah avatarAaliyah2012-05-30
這篇明明就是存技術性文章,樓上為什麼總是想要引導到別處
Harry avatarHarry2012-06-03
其實原PO這個論點在ICS上頭值得爭議...畢竟吃資源...
Daph Bay avatarDaph Bay2012-06-08
推這篇。無腦的規格派鄉民不要再陽具崇拜了~