搜尋本站文章

2012年10月9日 星期二

你還在清理進程釋放 RAM 嗎?別再損害手機了!

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

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

當然了,如果智慧手機本身 RAM 很小而且 CPU 不夠力,系統自然會很頻繁的終止進程釋放記憶體,這就使得許多小記憶體的手機用起來感覺一卡一卡的。於是很多論壇都開始討論怎麼樣使得全殺過後空閒記憶體更大、怎樣禁止自動啟動某些進程(結果空閒 RAM 確實大了,用起來反而更卡了)隨便切換個程式(如看書的時候來了個電話)系統都要重新開機幾乎所有相關的進程,怎麼能反應不遲鈍。
Android 用 RAM 的方式,跟 Windows、Windows Phone、Symbian 是兩回事。在 Android 裡,RAM 被用滿了是件好事。它意味著你可以快速打開之前打開的軟體,回到之前的位置。所以 Android 很有效的使用 RAM,很多使用者看到他們的 RAM 滿了,就認為拖慢了他們的手機。而實際上,退出後重啟這些程式才真正拖慢了手機的回應。而且這些自動殺進程的軟體本身是個時刻活躍的進程,它始終在後臺保持活躍使得 CPU 難以消停,反而增加了耗電量。

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

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

===============================================
創用 CC 授權條款
Related Posts Plugin for WordPress, Blogger...

沒有留言:

張貼留言

1、本留言處歡迎多加留言交流,但不歡迎垃圾留言及廣告留言
2、留言時可以使用部份 HTML 標記
3、對於教學文章介紹或軟體使用有問題歡迎提出,若站長沒回應表示不清楚該問題的解決方案
4、留言時請勿留下電子郵件,以免因搜尋引擎爬文而造成您的困擾,且站長不會寄相關郵件給您,僅會在留言區提供解決方案
5.站長保留不當刪除留言的權力,若造成不便尚請見諒