安卓系統(tǒng)在后臺有大量的程序運行,即使通過內(nèi)存清理軟件清理后,過一會又有很多程序自動開始運行。由于安卓設(shè)計機制,當(dāng)需要內(nèi)存時,后臺一些程序會自動關(guān)閉,釋放內(nèi)存。
可以采取以下方法限制后臺程序:1.打開手機設(shè)置找到開發(fā)人員選項,點擊進(jìn)入。2.打開開發(fā)人員選項后,我們滑到最下方,找到后臺進(jìn)程限制,點擊。3.選擇自己需要的模式。這里有6個選項,可根據(jù)自己需要選擇相應(yīng)的模式,默認(rèn)是標(biāo)準(zhǔn)限制,只在必要時關(guān)閉后臺程序,建議選擇“不得超過4個進(jìn)程”,限制太少的話會關(guān)閉一些需要的程序,比如QQ。
設(shè)置后系統(tǒng)會自動選擇重要的程序做后臺,而很多垃圾軟件進(jìn)程被自動清除。另外對于一些集成應(yīng)用不能卸載的可以在程序管理里停用的,可以結(jié)合一起使用。Android采取了一種有別于Linux的進(jìn)程管理策略,有別于Linux的在進(jìn)程活動停止后就結(jié)束該進(jìn)程,Android把這些進(jìn)程都保留在內(nèi)存中,直到系統(tǒng)需要更多內(nèi)存為止。這些保留在內(nèi)存中的進(jìn)程通常情況下不會影響整體系統(tǒng)的運行速度,并且當(dāng)用戶再次激活這些進(jìn)程時,提升了進(jìn)程的啟動速度。
Android是依據(jù)一個名為LRU(last recently used 最近使用過的程序)列表,將程序進(jìn)行排序,并結(jié)束最早的進(jìn)程。其實安卓的內(nèi)存管理機制是這樣的,如下:
1.系統(tǒng)會對進(jìn)程的重要性進(jìn)行評估,并將重要性以“oom_adj”這個數(shù)值表示出來,賦予各個進(jìn)程;(系統(tǒng)會根據(jù)“oom_adj”來判斷需要結(jié)束哪些進(jìn)程,一般來說,“oom_adj”的值越大,該進(jìn)程被系統(tǒng)選中終止的可能就越高)
2.前臺程序的“oom_adj”值為0,這意味著它不會被系統(tǒng)終止,一旦它不可訪問后,會獲得個更高的“oom_adj”,我們推測“oom_adj”的值是根據(jù)軟件在LRU列表中的位置所決定的;3.Android不同于Linux,有一套自己獨特的進(jìn)程管理模塊,這個模塊有更強的可定制性,可根據(jù)“oom_adj”值的范圍來決定進(jìn)程管理策略,比如可以設(shè)定“當(dāng)內(nèi)存小于X時,結(jié)束“oom_adj”大于Y的進(jìn)程”。這給了進(jìn)程管理腳本的編寫以更多的選擇。
慎用!望能幫到你,如果可以的請到我的頭條看看,謝謝!
聯(lián)系客服