許多人喜歡在手機(jī)里面安裝一個(gè)一鍵清理或者是XX優(yōu)化大師。不知道大家有沒(méi)有覺(jué)得,在一鍵清理后,手機(jī)打開(kāi)應(yīng)用的速度反而沒(méi)有清理前快。這是為什么呢?今天我就給大家講一下安卓的內(nèi)存機(jī)制。
當(dāng)一個(gè)程序放到后臺(tái)時(shí),系統(tǒng)可能將數(shù)據(jù)保存起來(lái)而讓程序進(jìn)行休眠,或者僅僅運(yùn)行部分服務(wù),僅僅當(dāng)收到相關(guān)的申請(qǐng)時(shí)才恢復(fù)部分進(jìn)程,處理完之后結(jié)束進(jìn)程而保留服務(wù)——這些都是自動(dòng)處理的,也就是說(shuō),如果用戶運(yùn)行的軟件都是按照Android思想而設(shè)計(jì)的,那么除了明確有退出按鍵的一部分大型程序外,其他程序是都可以運(yùn)行后扔到后臺(tái)不用再管了的,當(dāng)某個(gè)程序需要更多RAM時(shí),系統(tǒng)會(huì)自動(dòng)釋放掉一些不重要且最近沒(méi)有使用的程序;而當(dāng)你打開(kāi)某個(gè)曾經(jīng)打開(kāi)的程序時(shí),系統(tǒng)會(huì)先檢查RAM里是不是有這個(gè)程序的部分進(jìn)程,然后進(jìn)行恢復(fù),這樣可以更快打開(kāi)它。
當(dāng)然了,如果智能手機(jī)本身RAM很小而且CPU不給力,系統(tǒng)自然會(huì)很頻繁的終止進(jìn)程釋放內(nèi)存,這就使得許多小內(nèi)存的手機(jī)用起來(lái)感覺(jué)一卡一卡的了。于是很多論壇都開(kāi)始討論怎么樣使得全殺過(guò)后空閑內(nèi)存更大、怎樣禁止自動(dòng)啟動(dòng)某些進(jìn)程——結(jié)果空閑RAM確實(shí)大了,用起來(lái)反而更卡了——隨便切換個(gè)程序(如看書的時(shí)候來(lái)了個(gè)電話)系統(tǒng)都要重新啟動(dòng)幾乎所有相關(guān)的進(jìn)程,怎么能反應(yīng)不遲鈍。
Android用RAM的方式,跟Windows、Windows Phone、Symbian是兩回事。在Android里,RAM被用滿了是件好事。它意味著你可以快速打開(kāi)之前打開(kāi)的軟件,回到之前的位置。所以Android很有效的使用RAM,很多用戶看到他們的RAM滿了,就認(rèn)為拖慢了他們的手機(jī)。而實(shí)際上,退出后重啟這些程序才真正拖慢了手機(jī)的響應(yīng)。而且這些自動(dòng)殺進(jìn)程的軟件本身是個(gè)時(shí)刻活躍的進(jìn)程,它始終在后臺(tái)保持活躍使得CPU難以消停,反而增加了耗電量。
這個(gè)問(wèn)題最終我覺(jué)得應(yīng)該埋怨程序員。許多國(guó)內(nèi)的Android程序員編寫的程序根本就沒(méi)有對(duì)進(jìn)程進(jìn)行分類,總是試圖將所有進(jìn)程都保留在內(nèi)存里(例如某著名手機(jī)瀏覽器)!這就使得這些程序即使放到后臺(tái)了,它也不許系統(tǒng)對(duì)其進(jìn)程進(jìn)行釋放。WM、Sybiam系統(tǒng)里的內(nèi)存管理沒(méi)有這么智能,于是習(xí)慣了這種方法的程序員以及用戶就把這種內(nèi)存管理方式和使用習(xí)慣用到了Android上。所以這里建議,對(duì)于很多國(guó)內(nèi)軟件,用完之后還是按一下退出吧,而對(duì)于規(guī)范化的程序,以及系統(tǒng)自帶的那些程序(例如谷歌程序基本都沒(méi)有退出),用過(guò)之后放后臺(tái)就好。
PS:
1.養(yǎng)成良好的軟件使用習(xí)慣,不用了就退出(左鍵菜單退出、亦或程序關(guān)閉按鈕、亦或直接右鍵返回桌面,切忌中間HOME鍵!)
2.關(guān)閉第三方殺軟不必要的防火墻(比如來(lái)電防火墻、短信防火墻、郵件防火墻,前提你不是專門做電子商務(wù)的,一般情況下哪有那么多騷擾)別盲目的認(rèn)為全部開(kāi)啟是最安全的,要知道每道防火墻就是一個(gè)常駐進(jìn)程,一直處于活躍狀態(tài),撇開(kāi)RAM不談,耗電量也不容小視!
上一篇: 教你識(shí)別刷機(jī)包