Android 台灣中文網

標題: 對於安卓進程管理釋放RAM的正確觀念 [打印本頁]

作者: w7300611    時間: 2013-2-3 20:33
標題: 對於安卓進程管理釋放RAM的正確觀念
本帖最後由 w7300611 於 2013-2-3 20:49 編輯

內容有點多,但建議看完

Android系統進程管理(基本原理:後台管理和自動釋放優先級低的進程換取空閒RAM)

     當一個程序放到後台時,系統可能將數據保存起來而讓程序進行休眠,或者僅僅運行部分服務,僅僅當收到相關的申請時才恢復部分進程,處理完之後結束進程而保留服務——這些都是自動處理的,也就是說,如果用戶運行的軟件都是按照Android思想而設計的,那麼除了明確有退出按鍵的一部分大型程序外,其他程序是都可以運行後扔到後台不用再管了的,當某個程序需要更多RAM時,系統會自動釋放掉一些不重要且最近沒有使用的程序;而當你打開某個曾經打開的程序時,系統會先檢查RAM裡是不是有這個程序的部分進程,然後進行恢復,這樣可以更快打開它。

     當然了,如果手機本身RAM很小而且CPU不給力,系統自然會很頻繁的終止進程釋放內存,這就使得許多小內存的手機用起來感覺一卡一卡的了。於是很多論壇都開始討論怎麼樣使得全殺過後空閒內存更大、怎樣禁止自動啟動某些進程——結果空閒RAM確實大了,用起來反而更卡了——隨便切換個程序(如看書的時候來了個電話)系統都要重新啟動幾乎所有相關的進程,怎麼能反應不遲鈍。

      Android用RAM的方式,跟Windows、WM、Sybiam是兩回事。在Android裡,RAM被用滿了是件好事。它意味著你可以快速打開之前打開的軟件,回到之前的位置。所以Android很有效的使用RAM,很多用戶看到他們的RAM滿了,就認為拖慢了他們的手機。而實際上,退出後重啟這些程序才真正拖慢了手機的響應。而且這些自動殺進程的軟件本身是個時刻活躍的進​​程,它始終在後台保持活躍使得CPU難以消停,反而增加了耗電量。

      這個問題最終我覺得應該埋怨程序員。許多國內的Andr​​oid程序員編寫的程序根本就沒有對進程進行分類,總是試圖將所有進程都保留在內存裡(例如某著名手機瀏覽器)!這就使得這些程序即使放到後台了,它也不許系統對其進程進行釋放。 WM、Sybiam系統裡的內存管理沒有這麼智能,於是習慣了這種方法的程序員以及用戶就把這種內存管理方式和使用習慣用到了Android上。所以這裡建議,對於很多國內軟件,用完之後還是按一下退出吧,而對於規範化的程序,以及系統自帶的那些程序(例如穀歌程序基本都沒有退出),用過之後放後台就好。

PS:
1.養成良好的軟件使用習慣,不用了就退出(左鍵菜單退出、亦或程序關閉按鈕、亦或直接右鍵返回桌面,切忌中間HOME鍵!)
2.關閉第三方殺軟不必要的防火牆(比如來電防火牆、短信防火牆、郵件防火牆,前提你不是專門做電子商務的,一般情況下哪有那麼多騷擾)別盲目的認為全部開啟是最安全的,要知道每道防火牆就是一個常駐進程,一直處於活躍狀態,撇開RAM不談,耗電量也不容小視!

以上為安極網轉至
作者: 0991438946    時間: 2013-3-27 21:29
那,如果開著軟件關掉螢幕呢?
作者: w7300611    時間: 2013-3-27 21:33
0991438946 發表於 2013-3-27 21:29
那,如果開著軟件關掉螢幕呢?

會耗電,但不影響RAM使用狀況~
不要刻意去清理RAM,也不要常使用殺進程軟體 等等 ~~
作者: kent1123    時間: 2013-3-29 15:42
很有道理.確實我都會無事就殺進程.也確實讓我手機越來越卡...
那版主建議那些後台程式要保留?因為每次使用像"android助手、全能工具箱..."不由分說一律殺進程.呵呵!"殺得很爽.卡得要死"。




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1