andiest wrote:
看過您的文章,明白系統中-應用程式之可用ram即為背景快取程式暫存空間,
個人使用的手機為SONY Z1(android 4.3),並沒有下再過多的遊戲或是其他app(僅4款遊戲與中華電信相關app)
不知為什麼,買回來第二個禮拜後即因為可用ram不足200mb(使用達1.4G)而產生下述狀況:
1.按home鍵,會有明顯的遲滯現象(個人推測因為可用ram空間不足,所以xperia系統無法長駐,而被踢除)
2.按回覆(上一步)鍵,經常無反應;同時相機實體按鍵也會失靈......(都以按home鍵跳出解決)
3.Xperia鍵盤跳出嚴重遲滯。
接著在重開機3天後的今天,又發生了同樣的事情(這段期間僅進行安兔兔軟體測試、安裝auto killer、runtastic等軟體)
問題1:實在不明白這系統在已用RAM的部份,難道不能自己最佳化嗎?僅會不斷增加嗎?是我的系統哪裡沒設定好嗎?
問題2:不是ram的使用愈多愈好嗎?(android系統設定原意),為何當我使用愈多、剩下愈多
問題3:在應用程式項下看到很多執行中的程式(很多狀態為重新啟動中),但怎樣卻不認為有到1.4G,使否還有其他長駐的沒有出現呢?(不是這裡看到的已用及可用ram,就已經不含主系統佔用的部份了?)
問題4:僅有開關機能最佳化記憶體使用情形嗎?這觀念要如何建立或理解呢?此外,多次開關機是否會傷手機。(對不起,問題相當笨拙!)
以上包含個人可能不正確的推測,希望能得到T兄的指教與建議,打擾了,謝謝!
剛好家人也換了 Z1,有幫你看了一下...
當初買來時有注意到主系統佔用的部分(看不到的)蠻多的。
開機時顯示約 1.2 GB + 500 MB,所以被系統吃掉的差不多有 300 MB 左右的 RAM。
可是從買來後開機到目前為止約 60 小時(中途不曾重開機)。
RAM 的部分變成 1.3 GB + 400 MB,似乎也到達了穩定的交換狀態。
裝的 APP 也只有少數二十幾個常用的軟體,應該也沒跟 SONY 的客製軟體衝突到。
並不會說像你的一樣快取 + 剩餘不到 200 MB 空間&整個運作很Delay。
而我的 Nexus 4 掛載的東西非常多,APP 數量就超過 200 個了。
剛開機時約為 700 MB + 1.1 GB 左右,系統大概只吃 200 MB 不到(我用PA3.99-RC2)。
目前運作 522 小時,RAM 的部分變成 1.2 GB + 600 MB 左右。
同樣也沒有說不穩或Delay的問題。
另外,auto killer 之類殺程式的軟體真的不建議裝...
APP 被強制關閉後真的就是關閉,並不會轉為快取。
只會造成系統要重新啟動 APP 把它展開載入後放到快取內而增加運作負擔。
所以這類東西都不用,直接讓系統管理反而是最輕鬆的。
其實它跟 iOS 的原理有點類似...
但 iOS 不會依照使用者習慣來排程,而是以使用者優先的方式,所以才需要手動 kill。
唉...不過 iOS 不 kill 其實也沒差啦,反正資源都會優先給使用者。
只是不 kill 的話很多大型 APP 容易閃退而已 XD
1.建議你先把 auto killer 之類的進程管理軟體都移除掉,讓系統自己管理 RAM 的調度看看。
2.如果問題還是發生,那有可能是某個 APP 跟系統衝突到(非原生機常常遇到 APP 跟廠商客製軟體衝突的問題),這時先把資料都備份後還原原廠狀態,用個 2~3 天沒問題後先裝最低限度的必要 APP 看看,還是沒問題再把剩下的 APP 裝回去,各個可能性分別排除應該就能抓到是哪個 APP 在搞怪了。
3.再不行的話那就有可能是原廠 ROM 在 FLASH 進去時就有出錯,去找看看網路上有沒有原廠 ROM,自己重刷一次乾淨的進去(或是把問題告訴原廠,同時說明還原原廠狀態無效,要求重刷 ROM)。
或乾脆去 XDA 找個好用的 ROM 刷進去用看看也可以。
問題1:實在不明白這系統在已用RAM的部份,難道不能自己最佳化嗎?僅會不斷增加嗎?是我的系統哪裡沒設定好嗎?
其實本來就已經最佳化了,當你使用一段時間後系統會依照你的使用行為來分類各 APP 的存放,不去管它讓系統自行調度是最好的。
刻意去把東西從 A 搬到 B,你以為 A 的空間變大了,實際上系統還是會把東西從 B 搬回 A,增加系統的工作量而已。
該常駐的系統會讓他常駐,要用 CPU 時才排程給它。
常用的 APP 會留在快取且不佔用 CPU 資源,需要時能馬上喚醒,減少啟動時間與 CPU 工作量。
不常用的 APP 會被趕出快取空間,等到偶而要使用時才展開載入。
所以真的不管它是最好的...
問題2:不是ram的使用愈多愈好嗎?(android系統設定原意),為何當我使用愈多、剩下愈多
使用愈多愈好是基於 Linux 的原意(Android 就是基於 Linux),所以其實當一開機時的 4 個分區大致如下:
(A)主系統佔用 = 也就是看不到的那段,假設 Z1 一開始就吃了 300 MB。
(B)後台長駐服務 = 我家人這支 Z1 一開機是吃 1.2 GB。
(C)閒置程式快取 = Z1 在這邊一開機顯示約 500 MB,實際上並沒有那麼多,剛開機應該吃 100~200 MB 左右而已。
(D)剩餘RAM = 這部分包含在那 500 MB 裡面,所以一開機時大概還留有 300~400 MB 的空間。
在這邊右下角那顯示的 88 MB 其實就是(C)+(D)。
但是通常看不到兩者真正的用量,只能看到總量。
而此時(D)的實際剩餘量只剩 17 MB 而已。
隨著長時間使用的變化,(B)可能就增加到 1.3 GB 而已(依照掛載的程式用量而定)。
(D)的剩餘空間最後會剩下 48 MB 左右,供最低的 APP 啟動需求(以Android 4.3為例)。
剩下的(C)(假設約有 450 MB)裡面會塞滿快取供隨時快速啟動以減輕 CPU 負擔。
而不常用的 APP 則會被擠出快取完全關閉(因為很少用那就不需要快取,所以把空間讓給常用 APP )。
問題3:在應用程式項下看到很多執行中的程式(很多狀態為重新啟動中),但怎樣卻不認為有到1.4G,使否還有其他長駐的沒有出現呢?(不是這裡看到的已用及可用ram,就已經不含主系統佔用的部份了?)
1.在Android 4.3下,APP 展開後的預設 RAM 使用量雖然只有 8 MB,但如果 8 MB 不夠的話往上增加是一次跳 192 MB,最多吃到 512 MB,所以其實吃很大 XD
2.正常不會是"重新啟動中",我猜是因為被你的 auto killer 殺掉,但它本來就是要常駐的,所以一直被系統重啟,同時造成多餘的 CPU 負擔。
問題4:僅有開關機能最佳化記憶體使用情形嗎?這觀念要如何建立或理解呢?此外,多次開關機是否會傷手機。(對不起,問題相當笨拙!)
多次開關機並不會傷手機不用擔心,但重開機後的 RAM 分配量應該稱做"初始狀態",當使用一段時間後系統依照使用者習慣調整完畢的才能稱為"最佳化"。
就像我現在開了超過半個月,也不曾感覺有Delay,反而常用的軟體都能快速啟動,整個運行很順暢,個人化也用得很順手,讓我一直捨不得換 Nexus 5 ...Orz
風景映像。 https://yushenghsu.com
guanleex wrote:
大部分同意
但是其實關閉常駐在RAM內的程式我想並不是為了RAM閒置可以更多
而是電量的問題.....
android先天對背景程式管控不嚴格,吃流量耗電是常態
(畢竟要跟IOS相比是多工這個優點)
你不關背景應用,相對肯定比較耗電
不信可以ROOT機後,做一些優化
真的待機好很多
會在背景運作消耗資源佔用網路的都是常駐程式,像是 LINE、WhatsApp、FB...這類。
會覺得他們耗電耗資源,最大的主因是「Android 並不設限每個後台長駐服務每次排程時間間隔」。
像 LINE 就很常使用到網路跟 CPU,假設每 3 分鐘要排程一次。
而 WhatsAPP 就還好,似乎是通訊方式不同,差不多 10~30 分鐘內只有一次。
而 FB 則是依照你所設定的更新率而定,5 分鐘、10 分鐘、30 分鐘。
這些後台常駐服務每排程進 CPU 處理一次都是個佔用,畫成時間軸就會發現很亂...
iOS 則是有限定排程間隔的,堆到一定的量後一次處理。
假設 10~20 分鐘做一次後台堆積的工作,一次處理完畢。
且處理中若遇到使用者操作則馬上暫停,把所有資源讓給使用者,剩下的資源才來做後台工作。
因為 iOS 是以使用者優先為主,Android 則是以多工分配為主。
而在快取內的 APP 原則上它屬於"半關閉狀態",是不消耗資源的。
只是「放」在那邊,先存在 RAM 裡,需要時馬上呼叫,而不必經過"讀取 → 展開 → 放入RAM"這個動作。
關閉常駐在 RAM 裡的程式...我還是覺得沒必要。
關了原本就該常駐的程式,還是會被系統重啟增加負擔。
關了快取中的程式,它本來就是靜止狀態了,關或不關也沒差,但關了下次啟動時一定會比較耗資源。
我現在也沒在用進程管理的程式,該有的通訊軟體跟定時更新的資訊我也都有掛載,可是睡覺時待機依然是平平一條線...
eltonstar wrote:
其實ram還是有差別的吧....
最近越來越難忍受gn的遲滯感了。尤其是多工切換的時候。
所以為了追求順暢,只好回歸到最原始的ui,不再使用buzz launcher。《這傢伙要吃掉差不多80mb的記憶體》
桌面上也不擺放太多的小工具。
看看過幾天的google io,如果沒有發表下一代的Nexus,或是下一代的Nexus不合我意....就考慮來入手Nexus4了。
GN 我覺得還是回到 4.1.2 算了...
升上 4.3 並不見得會比較好,尤其 4.2 吃更兇。
面對現在主流的硬體跟 Android 版本,APP 也比較肥大了。
尤其在 4.3 上,8 MB 一旦不夠用馬上往上跳 192 MB。
GN 就只有 1 GB 而已,你要他忽然踢掉幾個 APP 讓出空間,再加上 CPU 要處理比以往肥大的 APP。
慢.........我覺得對得起那顆 CPU 了www
真的要輕快還是回去 4.1.2 最好,尤其是跟 4.2 比起來真的好非常多。
formula1210204 wrote:
我的Galaxy Nexus平常使用都還很順
偶爾完個Line Pokopang打發時間會小卡
但是App應該也有責任 有時候莫名就卡住沒反應
卡住沒反應?這個可能性就很多了...
我比較想得到的大概就是 ROM 或是 內核 的 I/O 調度管理不佳。
jvc14014 wrote:
如果掛載了後台長駐服務(FB、WhatsApp...等)
會不會影響CPU的處理速度??
基本上要看你的硬體。
我的 Nexus 4 掛載的後台常駐軟體有 11 個,但我感覺不出有任何影響...
(不曾遇過前台 APP 運作到一半Delay一下把 CPU 資源讓給後台的感覺)
風景映像。 https://yushenghsu.com
內文搜尋

X