看板 MobileComm
作者 rochchang (Rch)
標題 [討論] 關於蘋果跟安卓記憶體管理
時間 Sat Dec  9 08:38:18 2023


https://youtu.be/nIYHMAYZxsA?si=0qnwTTmpFpSYhkVQ

之前常看有人在說,蘋果因爲
會殺後台,所以即使記憶體
只有4G也比安卓順暢。

但看了上面影片才知道,安卓
是因爲都套了類似虛擬機在運行
,目的是爲了支援不同硬體如高通
、發哥、三星等處理器,而蘋果
不需要。

而且大多安卓app佔用記憶體約為
蘋果一倍,如推特甚至多四倍。

影片也做殺後台測試,結果
愛瘋4GB屌打安卓12GB記憶體。

難怪安卓廠商要堆料在記憶體啊,
最會殺後台的是安卓,有點顛覆
我的認知。




--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.35.175.90 (臺灣)
※ 作者: rochchang 2023-12-09 08:38:18
※ 文章代碼(AID): #1bSxRy1s (MobileComm)
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1702082300.A.076.html
mmppeegg: 排版可以好一點1F 12/09 08:43
BBKOX: 現在對岸評測都會有n輪應用打開看加載速度跟重新加載情況2F 12/09 08:47
※ 編輯: rochchang (218.35.175.90 臺灣), 12/09/2023 08:51:00
manbow77: 中國機超吃RAM預載服務多
再來是ART會跟著手機重置被重置
沒有這兩個前提觀念絕對直接被影片帶著走了4F 12/09 08:52
f396761440: 樓上這麽說像是非中國機的android
就可以跑得比iOS順嗎?7F 12/09 08:58
manbow77: 現在的旗艦別踩到雷 兩邊是有差嗎
再來是別再把RunTime稱作虛擬機了  差有夠多9F 12/09 08:59
f396761440: 原來前提是android得旗艦機呀11F 12/09 09:01
RegOwl: 同價位比同價位還算合理,雖然現在跳水後超過三萬的安卓旗艦其實也不多就是了12F 12/09 09:05
manbow77: 哀鳳就旗艦機你要去跟中低階機比順贏了不是廢話嗎14F 12/09 09:05
f396761440: iPhone價格是旗艦價但
跟安卓機比硬體根本不算旗艦吧
用價格來論系統順暢度也太籠統了15F 12/09 09:11
ShaoRouRou: iPhone SE算旗艦嗎18F 12/09 09:16
killerking05: 價格本來就是最大主因,蘋果賣旗艦價當然是比旗艦19F 12/09 09:17
manbow77: 蘋果硬體不算旗艦是認真的嗎 有部分規格比安卓好耶包含SE在內至少SOC是不折不扣旗艦晶片20F 12/09 09:17
f396761440: 兩三年前的A13 A14跟現在
Snapdragon 8 Gen 3誰速度快?22F 12/09 09:25
parislove3: 自從iPhone SE3 4GB RAM玩遊戲開始頻繁閃退 安卓 12GB RAM多開無壓力後 就不信什麼蘋果記憶體管理囉
連蘋果行銷主管都出來亂吹什麼8GB=16GB 笑死24F 12/09 09:26
oread168: 笑死現在連4G打12G都出來了27F 12/09 09:27
manbow77: 這影片所謂4G打12G其實在安卓VS安卓也成立28F 12/09 09:29
parislove3: 4GB好棒棒 那15 Pro/Pro MAX加大到8GB不就加心酸的wwww29F 12/09 09:29
minisung: 這什麼自慰文31F 12/09 09:29
manbow77: Linux系的ram管理會趨向快取到一半容量
所以4G安卓的記憶體管理效率也會高於12G
當然超過空餘容量就是閃退  所以直接給大RAM是萬解32F 12/09 09:30
snocia: 我只知道以前玩某手遊,iOS使用者直接被廠商噴不要拿2G記憶體機種抱怨閃退35F 12/09 09:34
ltytw: 我還以為是蘋果沒有home鍵  只能一直返回直到結束APP
才造就省記憶體假象?37F 12/09 09:34
mmppeegg: Android要是只支援一種CPU也可以有一樣的效果啊 不要在那廢話
現在的Android已經做得很好了 過去會卡頓的時代我都在用Lumia40F 12/09 09:36
f396761440: 樓上mm大才是講到重點之一44F 12/09 09:38
manbow77: 不過安卓目前有個ZRAM機制在那邊容易搞爛體驗
其實影片裡也有講了 ART模式下跟蘋果相差無幾
只是你把手機重制後會有相當一段時間不是跑ART45F 12/09 09:38
f396761440: Android背景預載許多
google services
app相對iOS就是要吃更多ram48F 12/09 09:42
zeromxg0: 蘋果旗艦喔,我只知道花三萬多塊只能買個只有128G的手機根本盤,還要用什麼順不順安慰自己,蘋果手機就是強。51F 12/09 09:42
f396761440: Zram 比較像是Linux 的Swap54F 12/09 09:44
manbow77: ZRAM在Linux上就是swap的一種
原理上它直接壓縮後丟在RAM裡會比傳統SWAP效能好
但在目前RAM越來越大的時代ZRAM就只是脫褲子放屁55F 12/09 09:50
lancerjump: 堆料堆在記憶體?某星倒吸牙膏8GB旗艦表示:58F 12/09 10:03
manbow77: 現在淪為廠商調整swappiness值來計劃性汰舊的工具59F 12/09 10:03
zcbxvsdf: 你發現15年前的秘密了60F 12/09 10:07
manbow77: 現在安卓旗艦會比哀鳳卡頓 我個人覺得ZRAM影響最大某些一開機就開始積極使用ZRAM的機器
RAM有任何讀寫都要部分壓縮/解壓縮 反應怎可能會好61F 12/09 10:08
f396761440: 確實如77大所說,zram的存取
速度上相較隨機存取ram慢上許多
但android系統就是預設會預載一下app
這狀況好比windows的 pagefile.sys64F 12/09 10:15
manbow77: ZRAM本意上是為了緩解RAM不足的閃退問題
所以原則上是在RAM剩餘空間小於一定量後啟動
那些把swappiness值設定成幾乎開機就啟動的
實在看不出對用戶體驗能有什麼好處
以目前來說8G ram以上靠系統自動調整RAM內快取量
就足以應付正常使用了
能讓8G ram閃退的使用情境 zram大致上效果也不彰68F 12/09 10:17
HyDroGen2528: 不要再相信蘋果4g夠用了 by剛從ios跳安卓真香的人75F 12/09 10:53
dawn5566: 佔用約為一倍 等於 佔用一樣多76F 12/09 10:55
tonyian: ios 相信4g夠用也很好啊,節省地球資源,反正Apple 都幫大家教育好果粉了77F 12/09 11:04
tr920: 記憶體從來沒有夠用的一天,不要小看碼農創造力XD行動裝置OS的責任是在手機記憶體無法無需擴充克難環境下,記憶體耗盡仍不影響使用者體驗太多
*無限擴充79F 12/09 11:25
square4: 各有利弊https://youtu.be/PV9GCZsUxpo83F 12/09 11:26
tr920: 安卓的記憶體管理思維比較像在桌機,記憶體不夠就擴充啊,再不夠就再擴充,一直循環下去84F 12/09 11:28
square4: 不過打開一輪app再檢查殺後台情形,是有問題的測試86F 12/09 11:29
manbow77: 安卓近期也還有4G ram手機 嚴格說來一般用途仍夠用系統會自己判斷ram容量去分配給app用多少 快取多少87F 12/09 11:44
JH10: 但是愛瘋玩高階遊戲閃退率很高89F 12/09 11:45
manbow77: 不過想多開大型APP像手遊的話還是乖乖買大RAM安定90F 12/09 11:46
rz759: 月經取暖文91F 12/09 11:50
f40075566: 你那邊是2020嗎?
現在剛出爐的三隻小米14、一加12和vivo100基本不殺後台 你家A17被踩在腳下還在用墓碑機制跟我說屌打? 建議你全部all in緯創跟長榮92F 12/09 11:51
dw7931425: 軟體在怎麽強,碰上硬體實際限制還是一樣死。只有蘋果會把他的記憶體管理方式講的很優良超強。不然之前蘋果主管出來說8g等於16g的幹話是怎麽來的?96F 12/09 12:00
drummers: 賣旗艦價當然跟旗艦比,不然呢?
快接受現實,蘋果也許調教比較好,但太摳的硬體已經讓它們真的沒那個價值,完全是只靠綁死人的雲端跟品牌價值在撐了99F 12/09 12:02
kimula01 
kimula01: 機制什麼都一般人不想懂 只要知道越大越好103F 12/09 12:07
PopeVic: 關於這議題看 Gary 就對了
https://youtu.be/lCFpgknkqRE104F 12/09 12:11
tengerinedog: 安卓粉會不開心106F 12/09 12:18
EPIRB406: ios 4G可以同時多開視窗看看啊!如果ios開了這些功能4G ram的機種一定不支援107F 12/09 12:28
toon885: 果粉想多了,安卓速度現在跟蘋果相同,還不用殺後台109F 12/09 12:40
drummers: 用五年前的設備或者現在的低價位來比最新的哀鳳,我都不知道是這樣比的110F 12/09 12:47
world18000: 不同記憶體不清楚,但同樣8G記憶體從安卓跳到iPhone,同樣習慣下以前會被殺後台的情況目前都沒有了,供參112F 12/09 12:48
oread168: 畢竟MAC的RAM是鑲金的當然要吹一下= =115F 12/09 12:52
ansonptt: 樓上,安卓可以鎖定App116F 12/09 12:55
tsaigi: 安卓跳iOS被狂殺猛殺路過117F 12/09 13:02
Andyzoo0916: 還活在幾年前?加大記憶體是有比你蘋果貴嗎?用起來有比蘋果封閉嗎?118F 12/09 13:36
MrCool5566: 4打12的結論太客氣了120F 12/09 14:04
ivon852: RAM是拿來用的不是在那邊空著的121F 12/09 14:29
markk90355: 從ios跳s23u發現真的臭,只用一個月要賣還掉價25-30%,這輩子再不買122F 12/09 15:12
biglanpa: 看二手殘值就知道買誰了124F 12/09 15:53
wessy: 安卓定價本來就虛高啊,會跳水不是常識嗎
如果4真能打12,蘋果就不會把pro的記憶體拉到8了啦真的是吹過頭了125F 12/09 16:07
iomirror626: 安卓殺後台 蘋果則是後台直接停用 zZzZzz128F 12/09 16:34
ss555136: 4g打11g,這什麼義和團式的精神勝利法129F 12/09 16:39
Syu: 好了啦 果又贏 結束這回合130F 12/09 16:41
coneflwer: 哀鳳賽高 大家都去買131F 12/09 16:50
Purin777: 額 帆船?132F 12/09 17:04
gary8442: 16G RAM M2 iPad Pro 1TB :133F 12/09 17:24
WHOKNOW4: 消費者不用價格做區分要用什麼分134F 12/09 17:26
cross4678: 之前拿iPhone 13,只要開相機其他app就要重啟,現在15 pro有8G用的很開心,app切來切去不用重啟135F 12/09 17:38
lilinmgr: 然覺得ios不自由綁手綁腳的人來說iphone也不值那個137F 12/09 17:57
manbow77: 反正道理也很簡單  樓主覺得哀鳳4G真的屌打安卓12G那就繼續用4G的哀鳳就好啦139F 12/09 18:01
SAKUHIRO: 上一秒用家人哀鳳叫外送直接跳掉,用了兩三年安卓還都沒遇過Zzz141F 12/09 18:39
haveastar: ios不是很多app無法背景運作嗎?143F 12/09 18:43
horb: 兩個陣營我用起來都差不多。一陣子就殺了144F 12/09 18:48
worldark: 茸茸鼠抽檔案閃退5次145F 12/09 20:41
圖片不存在
kkcity59: 內文說"套了類似虛擬機在運行,目的是爲了支援不同硬體如高通、發哥、三星等處理器".......
整個就是在胡說八道....
套了Delvik虛擬機或者建構JRE是Java的設計147F 12/09 21:20
qss05: 8=16是指MAC跟win比吧,手機有這樣講嗎…151F 12/09 22:37
tr920: 安卓的底層幾乎就是用java打造,所以效能可想而知152F 12/09 23:02
kkcity59: 又在胡說八道....安卓底層就根本沒半點Java
是Google買下安卓後決定用Java作為應用層語言
安卓的底層就是Linux核心幾乎大多是C/C++153F 12/10 00:03
raphael0911: 本身就是iPhone 7跑Diablo Immortal的苦主,各種閃退2分鐘就出現一次,不論是開關省電模式、手動滑掉後台、重開機、升級到最新iOS,甚至恢復原廠只安裝暗黑,最終無解玩不到。所以可以安裝在該裝置上的遊戲,不知道是Apple審核機制的問題還是廠商優化的問題,因為Apple其實有要求開發商若要在該裝置安裝運行,必須符合一定的資源佔用要求,不然是不能被該裝置下載安裝的。156F 12/10 00:11
bella1815: iPad mini 6也4G啊,玩遊戲很好用沒碰過閃退164F 12/10 00:32
manbow77: 樓上那個基本上跟那些對岸做視頻的一樣
差不多的內容一直抄來抄去轉來轉去連錯誤都一樣
安卓應用層深度綁定java主要是很早期給開發者方便然後再重複強調一次 RunTime不是虛擬機 原理差很多現在的ART轉換完成後的APP是以原生碼方式執行
未轉換完成的也不是走虛擬機 而是多了一個編譯動作能稱上虛擬機的dalvik早在安卓5.0就廢除了166F 12/10 08:28
tr920: 安卓的ART說穿了就是JAVA的JIT即時編譯技術,會用這個代表安卓的虛擬機架構還是存在的,不然幹嘛需要JIT,這技術的代價大家應該很清楚,就是耗記憶體https://i.imgur.com/IeaxuBz.jpg173F 12/10 09:48
oread168: 4G不閃退  蔚藍檔案接受挑戰177F 12/10 12:00
sc2x2: 說到JIT倒是很有印象 當年為了記憶體問題把某個專案的Java後台程式碼用C++重寫
當然還有速度的考量178F 12/10 12:51
manbow77: 用上JIT的是Dalvik 不是ART
ART改用AOT編譯的結果大幅改善了效能 代價是吃RAM但ART隨著APP使用會紀錄常用的是哪一段code
這作法確實改進了多消耗記憶體問題
但缺陷是需要紀錄APP使用狀況所以剛裝完比較吃RAM這也是為何我很上面會吐槽樓主影片重置系統後測試你把系統重置後 安卓側剛好會是ART最吃RAM的狀態
反倒Dalvik時代JIT大幅限制編譯碼種類關係很省RAM所以要谷狗麻煩直接找wiki或其它有公信力來源
真的知道JIT是做什麼的不會把它跟虛擬機劃等號
更沒有JIT需要大幅消耗記憶體這回事而是反過來181F 12/10 13:52
aaz957658: 沒人想談它是不是虛擬機
直白就是Android後台機制比iOS差192F 12/10 15:23
manbow77: 但就是一直有人扯安卓用虛擬機跑APP194F 12/10 15:43
TBEX: 虛擬機跑app 是android kk以前的時代了zzzz195F 12/10 22:33

--