国产精品入口免费视频_亚洲精品美女久久久久99_波多野结衣国产一区二区三区_农村妇女色又黄一级真人片卡

android手機(jī)內(nèi)存問題的介紹

時間:2022-04-27 13:32:34 手機(jī) 我要投稿
  • 相關(guān)推薦

android手機(jī)內(nèi)存問題的介紹

  不用在意剩余內(nèi)存的大小。其實很多人都是把使用其他系統(tǒng)的習(xí)慣帶過來來了。android大多應(yīng)用沒有退出的設(shè)計其實是有道理的,這和系統(tǒng)對進(jìn)程的調(diào)度機(jī)制有關(guān)系。如果你知道java,就能更清楚這機(jī)制了。其實和java的垃圾回收機(jī)制類似,系統(tǒng)有一個規(guī)則來回收內(nèi)存。進(jìn)行內(nèi)存調(diào)度有個閥值,只有低于這個值系統(tǒng)才會按一個列表來關(guān)閉用戶不需要的東西。當(dāng)然這個值默認(rèn)設(shè)置得很小,所以你會看到內(nèi)存老在很少的數(shù)值徘徊。但事實上他并不影響速度。相反加快了下次啟動應(yīng)用的速度。這本來就是android標(biāo)榜的優(yōu)勢之一,如果人為去關(guān)閉進(jìn)程,沒有太大必要。特別是自動關(guān)進(jìn)程的軟件。

android手機(jī)內(nèi)存問題的介紹

  到這里有人會說了,那為什么內(nèi)存少的時候運行大型程序會慢呢?其實很簡單,在內(nèi)存剩余不多時打開大型程序,會觸發(fā)系統(tǒng)自身的調(diào)進(jìn)程調(diào)度策略,這是十分消耗系統(tǒng)資源的操作,特別是在一個程序頻繁向系統(tǒng)申請內(nèi)存的時候。這種情況下系統(tǒng)并不會關(guān)閉所有打開的進(jìn)程,而是選擇性關(guān)閉,頻繁的調(diào)度自然會拖慢系統(tǒng)。所以,論壇上有個更改內(nèi)存閥值的程序可以有一定改善。 但改動也可能帶來一些問題,取決于值的設(shè)定。

  那么,進(jìn)程管理軟件有無必要呢?有的。就是在運行大型程序之前,你可以手動關(guān)閉一些進(jìn)程釋放內(nèi)存,可以顯著的提高運行速度。但一些小程序,完全可交由系統(tǒng)自己管理。談到這里,可能有的朋友會問,如果不關(guān)程序是不是會更耗電。我就說說 android后臺的原理,你就明白了。android的應(yīng)用在被切換到后臺時,它其實已經(jīng)被暫停了,并不會消耗cpu資源,只保留了運行狀態(tài)。所以為什么有的程序切出去重進(jìn)會到主界面。但是,一個程序如果想要在后臺處理些東西,如音樂播放,它就會開啟一個服務(wù)。服務(wù)可在后臺持續(xù)運行,所以在后臺耗電的也只有帶服務(wù)的應(yīng)用了。這個在進(jìn)程管理軟件里能看到,標(biāo)簽是service。至于廣播什么的我就不涉及了。所以沒有帶服務(wù)的應(yīng)用在后臺是完全不耗電的,沒有必要關(guān)閉。這種設(shè)計本來就是一個非常好的設(shè)計,下次啟動程序時,會更快,因為不需要讀取界面資源,何必要關(guān)掉他們抹殺這個android的優(yōu)點呢?

  還有一個。為什么android一個應(yīng)用看起來那么耗內(nèi)存。大家知道,android上的應(yīng)用是java,當(dāng)然需要虛擬機(jī),而android上的應(yīng)用是帶有獨立虛擬機(jī)的,也就是每開一個應(yīng)用就會打開一個獨立的虛擬機(jī)。這樣設(shè)計的原因是可以避免虛擬機(jī)崩潰導(dǎo)致整個系統(tǒng)崩潰,但代價就是需要更多內(nèi)存。

  以上這些設(shè)計確保了android的穩(wěn)定性,正常情況下最多單個程序崩潰,但整個系統(tǒng)不會崩潰,也永遠(yuǎn)沒有內(nèi)存不足的提示出現(xiàn)。大家可能是被 windows毒害得太深了,總想保留更多的內(nèi)存,但實際上這并不一定會提升速度,相反卻喪失了程序啟動快的這一系統(tǒng)特色,很沒必要。大家不妨按我說的習(xí)慣來用用這個系統(tǒng)。最后推薦一款進(jìn)程管理軟件,systempanel,market上能搜到,界面友好啟動快,功能也不錯,用于手動關(guān)閉進(jìn)程很好的軟件。 祝大家玩機(jī)愉快,這系統(tǒng)開十天半個月都沒問題,不是windows。

  至于為什么開了大程序或者開了好幾個程序之后切換會變慢,我的理解如下

  1.大程序A已經(jīng)開啟,占用70%內(nèi)存,如果再想運行一個B,需要50%的內(nèi)存,則就需要一個將A從內(nèi)存中釋放或者壓縮的過程,所以表現(xiàn)出來的就是慢一會兒

  2.ABCDE共占用內(nèi)存80%,運行新程序Z需要 20%的內(nèi)存,系統(tǒng)內(nèi)存因為沒見過剩余0的時候,也就是應(yīng)該剩一部分空閑內(nèi)存,那么就需要從A~E這幾個程序中選擇一個或者幾個來關(guān)閉,這一過程也需要耗費系統(tǒng)資源,所以會慢一會兒

  3.也就是說你手動去殺程序的時候,就是替系統(tǒng)在釋放內(nèi)存,就算你不殺,在需要內(nèi)存的時候系統(tǒng)也會自動釋放。

  4.不在后臺運行的程序(沒服務(wù)的),即使不殺也不會耗電。在后臺運行的(有服務(wù)的)程序,如后臺放歌,當(dāng)然會耗電。

  5.不是說殺進(jìn)程沒用,不然作者就不會推薦進(jìn)程管理軟件了。哪個帶服務(wù)耗電哪個后臺一直在運行,看服務(wù)就能看出來,這樣的該殺。

  6,以qq舉例,正常的退,會在進(jìn)程管理里留下qq的運行狀態(tài),但不耗電不占 cpu,如果你只是切換出去(按小房子而不是退出)那么自然會耗電,因為程序還在運行。