Android 4.4只需512MB內存?別高興太早 - Android

Table of Contents

※ 引述《Colaman ()》之銘言:
: App很肥 系統再瘦都救不了他沒錯 但是...
: 在oom之前 android 還有 application framework的OOP以及android kernel的LMK
: 所以也沒有那麼快跳到oom-killer 而且Google很愛在這邊偷吃步

系統只要進入認定的記憶體不足狀態,就會開始從高oom_adj開始清理,

當系統開始依照OOM_ADJ清理完畢後,那些被清掉的APP,下次就要重新load,

點APP到畫面出來就要一陣子,

我的GPlayer為了有人說關掉也耗記憶體,我就在退出APP的時候整個釋放掉.

結果過幾天,又有人跟我說"從LAUNCHER點GPlayer"要等好幾秒才有畫面....

現在都是高階機子,記憶體問題比較不會覺得卡,但一樣會有啟動緩慢的問題

何況如果還有一個LMK在背後弄,重點是這個LMK各OEM非常喜歡調整,

尤其是低階RAM的機種,因為這些OEM為了要過CTS以防一堆離奇的問題,

為了要過monkey以防memory leak的問題,總是很喜歡在這邊動手腳.


一個真實的案例,某OEM某1G機台,在一個測試流程中,某OEM自製的底層APP

可以重複被kernel的LMK,KILL高達300次以上,結果造成某server,memory leak,

暴肥了一百MB,本來就沒有多少空間可以用,跑了一陣子測試後,因為記憶體不足,

甚麼APP都開不了.

該OEM為了解決這個問題,直接把該APP設定成永遠不能砍,可是記憶體就永遠少了好幾十MB,

重點是這個OEM自製的底層功能,我是一輩子都不會去用它的...XD

很多事情消費者是沒有選擇的權力,OEM選擇用了低RAM,消費者只會看傳單跟DM,

根本沒人會注意細節,或者開機有多少可用,可以釋放到多少,這才是為甚麼ANDROID低階機

體驗總是有限制.(有點跟最近的假油一樣)



USER PID PPID VSIZE RSS WCHAN PC NAME
u0_a159 22329 1940 715244 127784 ffffffff 40048a70 S com.facebook.katana
u0_a179 23603 1940 549664 50888 ffffffff 40048a70 S com.facebook.orca
u0_a159 28225 1940 494260 46152 ffffffff 40048a70 S com.facebook.katana:nodex

: App肥也不見得會引發oom-killer 要看肥app在AMS的哪裡啊@@
: 再來
: 如果提到了oom/lmk/pmem/實體記憶體512MB 為什麼這裡是用VSS計算?
: 從oom/lmk的眼光 應該討論RSS

不好意思,上面那邊文章打錯了,把G-Protector看到的數值打成VSS,

我查了一下我的做法確實是RSS加總沒錯,

(把同屬一個APK使用到的每個process的RSS加總起來,應該是非常正確的檢驗方式)


請看我上面貼的PS LOG.

臉書124MB
一個不知名的臉書服務remote service(45MB),
臉書即時通49MB

CHROME
也是 85MB +70MB 兩個
u0_a146 10127 1940 711316 85920 ffffffff 40048a70 S com.android.chrome
u0_i9 10161 1940 583180 70300 ffffffff 40048a70 S com.android.chrome:sandboxed_process0



: 從App開發者的眼光討論App肥不肥 應該優先討論PSS更甚USS以及RSS
我剛上一篇的數據是RSS加總沒錯 :P

雖然說明打錯了,可是數據是該package使用的RSS的總和


: 算VSS total來討論會不會頂到512MB實體記憶體頂是不是怪怪的?
VSS都400-500的 @_@ 不會有50MB那麼小

: procrank也只算有意義的PSS/USS total給人看 不是嗎?

--

All Comments

William avatarWilliam2013-11-12
我沒有質疑app太肥導致使用者經驗不良的問題,我回文想說
Hedwig avatarHedwig2013-11-17
的是1. 通常不會這麼快該oom-killer現身 2. 應該不是VSS
對於1.的小附註是oom-killer起來之前 要看ams跟lmk的設計
Ingrid avatarIngrid2013-11-19
以及app的撰寫方式 JB 4.1開始Google就更改了一些adj計算
Regina avatarRegina2013-11-21
不好意思,VSS是我打錯了,我提供的數據是RSS總和
我說的真實案例是4.2的機子呢XD
Blanche avatarBlanche2013-11-24
方式 (打太快 不是"就更改" 是又更改)
Hedda avatarHedda2013-11-28
你在市面上可以買到他Q_Q
Edward Lewis avatarEdward Lewis2013-12-01
所以說 有這種512MB這種說法 也有可能是又有新的計算方式
Lauren avatarLauren2013-12-03
重點是OEM阿啊 應該沒有OEM願意出BSP版的低階ANDROID
(老闆會罵)
Dorothy avatarDorothy2013-12-08
我舉個極端但不會發生的例子 假設Google改成fg的adj=0
然後除此之外的人不管有沒有service之類的 通通都是7
Dorothy avatarDorothy2013-12-11
那就是其實我們只要看fg app的記憶體使用量
當然這例子不會發生 但我的意思是這些調整也都會影響
Skylar DavisLinda avatarSkylar DavisLinda2013-12-13
這樣就會一直被殺 然後卡翻天
James avatarJames2013-12-13
APP用到一半就突然爆掉 @@
google AMS跟OOM的計算 我至少trace到4.3的code,不覺得有甚麼
Jacky avatarJacky2013-12-18
被定義的"所謂重要的"東西的記憶體使用量
David avatarDavid2013-12-20
(更正: 使用量"上限")
Lauren avatarLauren2013-12-24
不是感覺有甚麼大改變Q_Q 1G-RAM搭配OEM的東西後 還是很慘
Poppy avatarPoppy2013-12-27
結論是: 如果Google有宣稱所謂的可以不可以用512MB運行
Agnes avatarAgnes2013-12-31
GOOGLE指的應該就是BSP版吧 他自己做的 OEM跟你裝的不保證
Lucy avatarLucy2014-01-02
就算是他的定義裡面也包含了"重要app" 這也可以是被從code
裡面定義的
Franklin avatarFranklin2014-01-03
可是GOOGLE也不會出512版的BSP,OEM也沒人會出..有點是空談
Iris avatarIris2014-01-05
重要的APP是臉書 LINE CHROME這樣512夠嗎XD
Hamiltion avatarHamiltion2014-01-06
OEM願意啊...(抽屜立刻拿出拿出兩支不到1000 RMB的機子)
Susan avatarSusan2014-01-09
糟糕 我這家不願意XD 可能公司有偶像包袱吧
John avatarJohn2014-01-10
我覺得我們不能只用我們的使用習慣來看 有的OEM進行著甚至
Mary avatarMary2014-01-13
我是從OEM來看的....
Jack avatarJack2014-01-18
是256MB以及128MB的ultra low-end android案子 (不唬爛)
Ethan avatarEthan2014-01-22
我這邊的OEM就是不管RAM多少 機子多爛 一定要把老闆認為的亮點
放到產品中 不管效能...
Rosalind avatarRosalind2014-01-25
原因就是我們生活的世界不是整個世界XD
Carolina Franco avatarCarolina Franco2014-01-25
你提的那些OEM是主打比較小眾or便宜的市場吧
David avatarDavid2014-01-25
ANDROID主要市占率 賣百萬台以上的 大都是我這邊OEM的想法~.~
Sandy avatarSandy2014-01-26
看看H牌低階機 還是一堆H公司的軟體 S牌也是
Sandy avatarSandy2014-01-28
我自己把話題扯遠了 我的意思還是:我們知道512MB對於我們
Steve avatarSteve2014-01-30
以前的M牌低階機也是 所以才有人要在那刷ROM 刷來刷去
Hedda avatarHedda2014-02-01
的使用者經驗完全不夠 但這是被我們定義的使用者經驗
Joe avatarJoe2014-02-04
不是喊出"4.4 512MB就夠"的人所定義的 更不是
想要出256MB/128MB的人定義的 而這些都可以從code裡面定義
Damian avatarDamian2014-02-07
好吧 特殊用途的人可以用512MB 那GOOGLE要加警語了
Tom avatarTom2014-02-08
感覺GOOGLE這口號 跟假油很像=.= (XXX是國外的健康食品)
Gary avatarGary2014-02-11
你說的這些我都知道~.~ 問題是主要的OEM 根本做不到
除非是小公司或是主打小眾市場 或者自己開公司做機子
Adele avatarAdele2014-02-13
主要的OEM才是決定ANDROID市場的存亡
不然H牌S牌為什要投注那麼多資金在ANDROID 一切都是$$$$$$$
Quintina avatarQuintina2014-02-14
喊出"4.4 512MB就夠"這種口號 就我自己的經驗我覺得更像
Victoria avatarVictoria2014-02-14
而OEM也不曾為了GOOGLE說的低階機種而改變 他們還是做自己的
Jack avatarJack2014-02-15
是給OEM建議 舉例來說 T-Mobile的G1 HTC的TMO版Magic
Skylar Davis avatarSkylar Davis2014-02-18
很多東西 沒有市占率就是沒意義啊 市占率不是靠內容 廣告行銷
廣告行銷也是影響市占率很大的原因
那些OEM已經回不去啦.... (我已經建議過了,無效QQ_)
Sierra Rose avatarSierra Rose2014-02-21
都在android成長(咦)的過程中 因為RAM達不到"喊出"的數值
Gary avatarGary2014-02-24
而沒有繼續跟著前進(RAM是其中一個重要理由 但不是唯一)
Mary avatarMary2014-02-28
是什麼樣的「RAM達不到"喊出"的數值」狀況? 他們連開機
到lockscreen或是home之前就會出現lmk砍home的窘況了
Jacob avatarJacob2014-03-04
老機子OEM都不會有team維護的 他們就一直出新機賺錢阿..
我知道你想指出比方說某H公司說某機因為RAM太小不升級
Kama avatarKama2014-03-05
其實只是不想維護而已XD
Ula avatarUla2014-03-09
維護要人力 要$$$$$
至於新出的低階機 一樣是因為老闆要求"公司精神"一定要在機子
所以也不可能出BSP版本的...
Noah avatarNoah2014-03-13
這種囧況已經是連使用者經驗都不用提的啊 開不到主畫面
Anonymous avatarAnonymous2014-03-17
有啊 new htc one跟SGS4的GEP on Google Play
Genevieve avatarGenevieve2014-03-19
結論就是 4.4 可以512MB 是指不含三方與OEM的使用情況
Anthony avatarAnthony2014-03-20
舉這兩個例子不是要反駁你的說法 我只是想說
Skylar DavisLinda avatarSkylar DavisLinda2014-03-23
那個是google要求的阿XDXD
Elma avatarElma2014-03-27
而且台灣買不到 ~.~ 毫無行銷可言 想買有夠麻煩
這樣的機子也不會有市占率..
Brianna avatarBrianna2014-03-27
他們的狀況以及定位就很像當年的T-Mobile的G1/Magic
Edwina avatarEdwina2014-03-30
G1 "以及" Magic
Lucy avatarLucy2014-03-30
反正我覺得512MB這種數字是喊給BSP provider跟OEM聽啦 ~.~
Christine avatarChristine2014-04-04
OEM自己就會去評估自己額外要加的東西會吃多少
然後有眼光的OEM就會用512MB + 自己的功能使用量 +
Rebecca avatarRebecca2014-04-07
恩恩 真的會不會有機子 不是只有底層好就有 OEM做不做是一回事
(偏偏大間的OEM自己是不會做這種事情)
Rae avatarRae2014-04-12
評估過的銷售對象使用者經驗使用量
Necoo avatarNecoo2014-04-15
(OEM:幫GOOGLE做機子,賺沒幾毛,我掛我自己的牌子,放一些我APP
價格給他多個五成,賺爽爽...要不是為了還GOOGLE人情...)
Gilbert avatarGilbert2014-04-20
有眼光的OEM都會出那種賺很多錢的.ANDROID..
Skylar Davis avatarSkylar Davis2014-04-21
沒眼光的OEM就會出那種光自己軟體都跑到會low memory的
Zora avatarZora2014-04-25
因為大間的OEM實在有很多成本啊 人.專利.版權 都是無形的
Tristan Cohan avatarTristan Cohan2014-04-27
可是那些出自己軟體跑到沒記憶體的 還是賣的很好阿
因為USER不懂這些 他們看廣告 代言 推銷員 打手
Edward Lewis avatarEdward Lewis2014-05-02
看外觀 看品牌 看潮流..就是不看技術的東西
所以市場就被定位成 要包裝才能生存 不包裝就是被當山寨
Zora avatarZora2014-05-04
大間的OEM還是只會跟著大眾消費者跑
Ula avatarUla2014-05-07
很多USER(非常非常多)都不會上PTT也不會上ANDROID版
他們有問題也就直接去找店面 店家
Una avatarUna2014-05-10
躺驗的ˊ內監APAP
Eartha avatarEartha2014-05-13
記憶體最近越來越貴. 相信大家很快就會看到512的產品
Eartha avatarEartha2014-05-14
神之間的對話
Thomas avatarThomas2014-05-18
野火的復歸 春風吹又生 XD