Re: [新聞] Android 4.4只需512MB內存?別高興太早

看板Android作者 (gpc)時間12年前 (2013/11/10 15:35), 編輯推噓4(4092)
留言96則, 6人參與, 最新討論串5/5 (看更多)
※ 引述《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給人看 不是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.173.159

11/10 15:39, , 1F
我沒有質疑app太肥導致使用者經驗不良的問題,我回文想說
11/10 15:39, 1F

11/10 15:40, , 2F
的是1. 通常不會這麼快該oom-killer現身 2. 應該不是VSS
11/10 15:40, 2F

11/10 15:40, , 3F
對於1.的小附註是oom-killer起來之前 要看ams跟lmk的設計
11/10 15:40, 3F

11/10 15:41, , 4F
以及app的撰寫方式 JB 4.1開始Google就更改了一些adj計算
11/10 15:41, 4F

11/10 15:42, , 5F
不好意思,VSS是我打錯了,我提供的數據是RSS總和
11/10 15:42, 5F

11/10 15:42, , 6F
方式 (打太快 不是"就更改" 是又更改)
11/10 15:42, 6F

11/10 15:42, , 7F
我說的真實案例是4.2的機子呢XD
11/10 15:42, 7F

11/10 15:43, , 8F
你在市面上可以買到他Q_Q
11/10 15:43, 8F

11/10 15:43, , 9F
所以說 有這種512MB這種說法 也有可能是又有新的計算方式
11/10 15:43, 9F

11/10 15:44, , 10F
重點是OEM阿啊 應該沒有OEM願意出BSP版的低階ANDROID
11/10 15:44, 10F

11/10 15:44, , 11F
(老闆會罵)
11/10 15:44, 11F

11/10 15:45, , 12F
我舉個極端但不會發生的例子 假設Google改成fg的adj=0
11/10 15:45, 12F

11/10 15:45, , 13F
然後除此之外的人不管有沒有service之類的 通通都是7
11/10 15:45, 13F

11/10 15:46, , 14F
那就是其實我們只要看fg app的記憶體使用量
11/10 15:46, 14F

11/10 15:46, , 15F
這樣就會一直被殺 然後卡翻天
11/10 15:46, 15F

11/10 15:46, , 16F
當然這例子不會發生 但我的意思是這些調整也都會影響
11/10 15:46, 16F

11/10 15:47, , 17F
APP用到一半就突然爆掉 @@
11/10 15:47, 17F

11/10 15:47, , 18F
被定義的"所謂重要的"東西的記憶體使用量
11/10 15:47, 18F

11/10 15:47, , 19F
google AMS跟OOM的計算 我至少trace到4.3的code,不覺得有甚麼
11/10 15:47, 19F

11/10 15:48, , 20F
(更正: 使用量"上限")
11/10 15:48, 20F

11/10 15:48, , 21F
不是感覺有甚麼大改變Q_Q 1G-RAM搭配OEM的東西後 還是很慘
11/10 15:48, 21F

11/10 15:49, , 22F
結論是: 如果Google有宣稱所謂的可以不可以用512MB運行
11/10 15:49, 22F

11/10 15:49, , 23F
GOOGLE指的應該就是BSP版吧 他自己做的 OEM跟你裝的不保證
11/10 15:49, 23F

11/10 15:50, , 24F
就算是他的定義裡面也包含了"重要app" 這也可以是被從code
11/10 15:50, 24F

11/10 15:50, , 25F
可是GOOGLE也不會出512版的BSP,OEM也沒人會出..有點是空談
11/10 15:50, 25F

11/10 15:50, , 26F
裡面定義的
11/10 15:50, 26F

11/10 15:52, , 27F
重要的APP是臉書 LINE CHROME這樣512夠嗎XD
11/10 15:52, 27F

11/10 15:52, , 28F
OEM願意啊...(抽屜立刻拿出拿出兩支不到1000 RMB的機子)
11/10 15:52, 28F

11/10 15:53, , 29F
糟糕 我這家不願意XD 可能公司有偶像包袱吧
11/10 15:53, 29F

11/10 15:53, , 30F
我覺得我們不能只用我們的使用習慣來看 有的OEM進行著甚至
11/10 15:53, 30F

11/10 15:54, , 31F
我是從OEM來看的....
11/10 15:54, 31F

11/10 15:55, , 32F
是256MB以及128MB的ultra low-end android案子 (不唬爛)
11/10 15:55, 32F

11/10 15:55, , 33F
我這邊的OEM就是不管RAM多少 機子多爛 一定要把老闆認為的亮點
11/10 15:55, 33F

11/10 15:55, , 34F
放到產品中 不管效能...
11/10 15:55, 34F

11/10 15:56, , 35F
原因就是我們生活的世界不是整個世界XD
11/10 15:56, 35F

11/10 15:56, , 36F
你提的那些OEM是主打比較小眾or便宜的市場吧
11/10 15:56, 36F

11/10 15:57, , 37F
ANDROID主要市占率 賣百萬台以上的 大都是我這邊OEM的想法~.~
11/10 15:57, 37F

11/10 15:58, , 38F
看看H牌低階機 還是一堆H公司的軟體 S牌也是
11/10 15:58, 38F

11/10 15:58, , 39F
我自己把話題扯遠了 我的意思還是:我們知道512MB對於我們
11/10 15:58, 39F

11/10 15:59, , 40F
以前的M牌低階機也是 所以才有人要在那刷ROM 刷來刷去
11/10 15:59, 40F

11/10 15:59, , 41F
的使用者經驗完全不夠 但這是被我們定義的使用者經驗
11/10 15:59, 41F

11/10 16:00, , 42F
不是喊出"4.4 512MB就夠"的人所定義的 更不是
11/10 16:00, 42F

11/10 16:00, , 43F
好吧 特殊用途的人可以用512MB 那GOOGLE要加警語了
11/10 16:00, 43F

11/10 16:00, , 44F
想要出256MB/128MB的人定義的 而這些都可以從code裡面定義
11/10 16:00, 44F

11/10 16:01, , 45F
感覺GOOGLE這口號 跟假油很像=.= (XXX是國外的健康食品)
11/10 16:01, 45F

11/10 16:03, , 46F
你說的這些我都知道~.~ 問題是主要的OEM 根本做不到
11/10 16:03, 46F

11/10 16:03, , 47F
除非是小公司或是主打小眾市場 或者自己開公司做機子
11/10 16:03, 47F

11/10 16:04, , 48F
主要的OEM才是決定ANDROID市場的存亡
11/10 16:04, 48F

11/10 16:04, , 49F
不然H牌S牌為什要投注那麼多資金在ANDROID 一切都是$$$$$$$
11/10 16:04, 49F

11/10 16:04, , 50F
喊出"4.4 512MB就夠"這種口號 就我自己的經驗我覺得更像
11/10 16:04, 50F

11/10 16:05, , 51F
而OEM也不曾為了GOOGLE說的低階機種而改變 他們還是做自己的
11/10 16:05, 51F

11/10 16:05, , 52F
是給OEM建議 舉例來說 T-Mobile的G1 HTC的TMO版Magic
11/10 16:05, 52F

11/10 16:06, , 53F
很多東西 沒有市占率就是沒意義啊 市占率不是靠內容 廣告行銷
11/10 16:06, 53F

11/10 16:06, , 54F
廣告行銷也是影響市占率很大的原因
11/10 16:06, 54F

11/10 16:06, , 55F
那些OEM已經回不去啦.... (我已經建議過了,無效QQ_)
11/10 16:06, 55F

11/10 16:06, , 56F
都在android成長(咦)的過程中 因為RAM達不到"喊出"的數值
11/10 16:06, 56F

11/10 16:07, , 57F
而沒有繼續跟著前進(RAM是其中一個重要理由 但不是唯一)
11/10 16:07, 57F

11/10 16:08, , 58F
是什麼樣的「RAM達不到"喊出"的數值」狀況? 他們連開機
11/10 16:08, 58F

11/10 16:08, , 59F
老機子OEM都不會有team維護的 他們就一直出新機賺錢阿..
11/10 16:08, 59F

11/10 16:08, , 60F
到lockscreen或是home之前就會出現lmk砍home的窘況了
11/10 16:08, 60F

11/10 16:08, , 61F
我知道你想指出比方說某H公司說某機因為RAM太小不升級
11/10 16:08, 61F

11/10 16:09, , 62F
其實只是不想維護而已XD
11/10 16:09, 62F

11/10 16:10, , 63F
維護要人力 要$$$$$
11/10 16:10, 63F

11/10 16:10, , 64F
至於新出的低階機 一樣是因為老闆要求"公司精神"一定要在機子
11/10 16:10, 64F

11/10 16:10, , 65F
所以也不可能出BSP版本的...
11/10 16:10, 65F

11/10 16:10, , 66F
這種囧況已經是連使用者經驗都不用提的啊 開不到主畫面
11/10 16:10, 66F

11/10 16:12, , 67F
有啊 new htc one跟SGS4的GEP on Google Play
11/10 16:12, 67F

11/10 16:12, , 68F
結論就是 4.4 可以512MB 是指不含三方與OEM的使用情況
11/10 16:12, 68F

11/10 16:13, , 69F
舉這兩個例子不是要反駁你的說法 我只是想說
11/10 16:13, 69F

11/10 16:13, , 70F
那個是google要求的阿XDXD
11/10 16:13, 70F

11/10 16:14, , 71F
而且台灣買不到 ~.~ 毫無行銷可言 想買有夠麻煩
11/10 16:14, 71F

11/10 16:14, , 72F
這樣的機子也不會有市占率..
11/10 16:14, 72F

11/10 16:15, , 73F
他們的狀況以及定位就很像當年的T-Mobile的G1/Magic
11/10 16:15, 73F

11/10 16:16, , 74F
G1 "以及" Magic
11/10 16:16, 74F

11/10 16:17, , 75F
反正我覺得512MB這種數字是喊給BSP provider跟OEM聽啦 ~.~
11/10 16:17, 75F

11/10 16:19, , 76F
OEM自己就會去評估自己額外要加的東西會吃多少
11/10 16:19, 76F

11/10 16:19, , 77F
恩恩 真的會不會有機子 不是只有底層好就有 OEM做不做是一回事
11/10 16:19, 77F

11/10 16:19, , 78F
(偏偏大間的OEM自己是不會做這種事情)
11/10 16:19, 78F

11/10 16:19, , 79F
然後有眼光的OEM就會用512MB + 自己的功能使用量 +
11/10 16:19, 79F

11/10 16:20, , 80F
評估過的銷售對象使用者經驗使用量
11/10 16:20, 80F

11/10 16:20, , 81F
(OEM:幫GOOGLE做機子,賺沒幾毛,我掛我自己的牌子,放一些我APP
11/10 16:20, 81F

11/10 16:20, , 82F
價格給他多個五成,賺爽爽...要不是為了還GOOGLE人情...)
11/10 16:20, 82F

11/10 16:21, , 83F
有眼光的OEM都會出那種賺很多錢的.ANDROID..
11/10 16:21, 83F

11/10 16:22, , 84F
沒眼光的OEM就會出那種光自己軟體都跑到會low memory的
11/10 16:22, 84F

11/10 16:22, , 85F
因為大間的OEM實在有很多成本啊 人.專利.版權 都是無形的
11/10 16:22, 85F

11/10 16:24, , 86F
可是那些出自己軟體跑到沒記憶體的 還是賣的很好阿
11/10 16:24, 86F

11/10 16:24, , 87F
因為USER不懂這些 他們看廣告 代言 推銷員 打手
11/10 16:24, 87F

11/10 16:25, , 88F
看外觀 看品牌 看潮流..就是不看技術的東西
11/10 16:25, 88F

11/10 16:25, , 89F
所以市場就被定位成 要包裝才能生存 不包裝就是被當山寨
11/10 16:25, 89F

11/10 16:26, , 90F
大間的OEM還是只會跟著大眾消費者跑
11/10 16:26, 90F

11/10 16:28, , 91F
很多USER(非常非常多)都不會上PTT也不會上ANDROID版
11/10 16:28, 91F

11/10 16:28, , 92F
他們有問題也就直接去找店面 店家
11/10 16:28, 92F

11/10 22:39, , 93F
躺驗的ˊ內監APAP
11/10 22:39, 93F

11/10 23:57, , 94F
記憶體最近越來越貴. 相信大家很快就會看到512的產品
11/10 23:57, 94F

11/11 00:57, , 95F
神之間的對話
11/11 00:57, 95F

11/11 12:47, , 96F
野火的復歸 春風吹又生 XD
11/11 12:47, 96F
文章代碼(AID): #1IVpSbQ6 (Android)
討論串 (同標題文章)
文章代碼(AID): #1IVpSbQ6 (Android)