看板 Android 關於我們 聯絡資訊
※ 引述《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在效能上的差異 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102
lkk7835045:我也想知道4.的差異 02/24 12:03
以目前來說設計一隻程式跑256MB以上很不智 因為很多手機會根本不能執行 所以如果可用常常保持在256MB以上就表示任何程式都能很快地順利執行 我覺得以目前這個階段來說就很夠了 當然越新的Android版本footprint會越大,但是那個不會一下暴增 總之我覺得只要有1G應該沒有不夠用的理由 ※ 編輯: priv 來自: 140.113.23.102 (02/24 12:07)
F9:有些程式是會常駐記憶體的,這些程式裝很多時,還是會不夠用吧 02/24 12:11
Kamiyu:推專業文,看看手邊的機器,還沒有可用RAM達到256MB的QQ 02/24 12:13
doom3:沒去修改build.prop裡的dalvik.vm.heapsize的話 每支程式能 02/24 12:17
Parhelia:不要亂動memory layout還有一個考量是 有東西要給chip 02/24 12:17
doom3:用的RAM 不是24M就是32M 02/24 12:17
Parhelia:vendor debug的時候 memory layout差太多很困擾 XD 02/24 12:17
Parhelia:不過vendor一般也有document說如何改這些layout就是 02/24 12:18
Kamiyu:上面幾樓的推文很令人看不懂...囧 02/24 12:18
jumbotest:1G RAM的手機 使用時可用RAM不一定有256啊 02/24 12:19
Parhelia:還有比較新的QCT modem也不一定是ARM11 MSM的才是 02/24 12:25
Parhelia:MDM目前應該都還是ARM9 XD 02/24 12:25
sdyy:ram多就可以多些常駐程式,還是有差 02/24 12:27
Kayusumi:常駐多=耗電多阿..XD 02/24 12:35
iincho:新一代的chip應該都會有iommu了吧, 一次在kernel弄一整塊 02/24 12:37
iincho:這種作法應該會慢慢消失....至於Free memory影響擇是在 02/24 12:37
iincho:NAND通常慢,所以你程式殺掉要重跑速度上就差很多.. 02/24 12:37
iincho:不過RAM多也會多消耗電,這部分其實也是有一些trade-off 02/24 12:38
iincho:常駐多=耗電多這個說法其實不大正確,應該是DRAM要refresh 02/24 12:39
iincho:所以你的RAM越多吃電就越大,即使你把程式砍光光也是一樣 02/24 12:39
kamichu:不知道從Nand抓資料出來進ram比較耗電還是RAM大耗電 02/24 12:40
iincho:撇開耗電的問題,NAND就是慢,一般來說我是覺得RAM越大越好 02/24 12:41
priv:在low-memory的時候,例如說free只有40以下 02/24 12:47
priv:砍程式還有需要等原先程式執行完正常結束程序的時間 02/24 12:47
priv:所以不是只有從NAND裡面載入的問題而已,會更慢 02/24 12:47
priv:如果只是單純從NAND裡面載入,那說慢也不會太慢 02/24 12:48
priv:當然還是會比直接在記憶體裡面叫出來慢 02/24 12:48
priv:所以也有一種策略是乾脆把常用的程式preload進來 02/24 12:48
priv:這樣在執行常用的task時就可以少等一、二秒 02/24 12:49
priv:但是怎麼拿捏也是個學問,因為preload進來太多 02/24 12:49
priv:free memory又變小了... 02/24 12:49
priv:這時候如果要執行比較大的程式如遊戲,又會變得很慢 02/24 12:50
priv:這只是單純考慮到載入和結束的問題 02/24 12:51
priv:還沒有考慮到程式很多如果在背景都有做事...thrashing的問題 02/24 12:52
kamichu:我想ram的大小和發生這種從NAND交換資料的次數是有關的 02/24 12:56
kamichu:至於耗電多少...還...蠻有趣的 02/24 12:57
kira925:需要分析XD 02/24 13:19
ITOLEE:推專業文!!簡而言之就是io速度的取捨;win7和vista也傾向 02/24 14:17
ITOLEE:把程式先放進記憶體;不過手機的flash隨機存取比電腦硬碟快 02/24 14:19
ITOLEE:所以需不需要preload這麼多程式還需要再研究; 02/24 14:21
ITOLEE:不過從群眾的經驗值可歸納出兩個現象:似乎不需preload程式 02/24 14:22
notmuchmoney:需要占到256mb記憶體 是怪獸級app吧... 02/24 14:22
ITOLEE:因管理記憶體殺程式而造成問題的人不多 02/24 14:23
ITOLEE:再者,記憶體越多越能吸引買氣...因為A系統還是需要記憶體 02/24 14:24
ITOLEE:現存htc的機種都屬於preload多,ram少的...與群眾希望相反 02/24 14:26
F9: 這篇明明就是存技術性文章,樓上為什麼總是想要引導到別處 02/24 15:12
Allen0315:其實原PO這個論點在ICS上頭值得爭議...畢竟吃資源... 02/24 16:45
Sunicer:推這篇。無腦的規格派鄉民不要再陽具崇拜了~ 02/26 00:33