手機(jī)
手機(jī) 手機(jī)資訊 手機(jī)新聞 Android手機(jī)需要清理內(nèi)存嗎?
手機(jī)大全
12月 11

Android手機(jī)需要清理內(nèi)存嗎?

編輯:匿名 來(lái)源:超能網(wǎng)
放大 縮小 打印 郵件 收藏本頁(yè) 游吧論壇

無(wú)論手機(jī)的物理內(nèi)存有多大,Android都能將其充分利用,將需要用到(包括之前用過(guò)的)的數(shù)據(jù)從硬盤(pán)讀入到內(nèi)存,利用內(nèi)存的高速保證系統(tǒng)的數(shù)據(jù)訪問(wèn)性能,也就是說(shuō),可用內(nèi)存越小,內(nèi)存的利用率就更高,其中的數(shù)據(jù)就越多,數(shù)據(jù)訪問(wèn)的命中率就越高,系統(tǒng)也就越快。如果還有人和你說(shuō)手機(jī)用不了4GB這么的大內(nèi)存,那只是廠商的噱頭而已,你完全可以鄙視再教育之。

你可能會(huì)問(wèn),當(dāng)打開(kāi)的應(yīng)用越來(lái)越多,占用的內(nèi)存總會(huì)爆滿的,那怎么辦呢?

該出手時(shí)就出手,Android有著優(yōu)秀的內(nèi)存回收機(jī)制

在上面舉例中,3GB內(nèi)存的手機(jī)只有81MB的可用內(nèi)存了,如果此時(shí)打開(kāi)需要256MB內(nèi)存的“騰訊視頻”,會(huì)提示“內(nèi)存不足”嗎?答案是不會(huì)的。

當(dāng)內(nèi)存不足時(shí),內(nèi)存回收機(jī)制就開(kāi)始起作用了

實(shí)際上,作為Android的開(kāi)發(fā)語(yǔ)言Java沒(méi)有提供任何操作來(lái)釋放內(nèi)存(這也是與IOS很大的不同點(diǎn)),是通過(guò)系統(tǒng)的內(nèi)存回收機(jī)制來(lái)進(jìn)行管理。Android使用了一個(gè)名為L(zhǎng)ow Memory Killer(LMK)的機(jī)制來(lái)管理內(nèi)存,當(dāng)內(nèi)存出現(xiàn)不足時(shí),LMK就開(kāi)始揮舞屠刀殺掉一些進(jìn)程,那么問(wèn)題來(lái)了,殺誰(shuí)?

說(shuō)到這兒,必須多費(fèi)點(diǎn)筆墨。Android會(huì)對(duì)進(jìn)程的重要性進(jìn)行評(píng)估,以oom_adj來(lái)表示,oom_adj的值越小,則重要性越高,oom_adj的值越大,該進(jìn)程被系統(tǒng)選中殺掉的可能性越高,當(dāng)oom_adj值為0,這意味著它永遠(yuǎn)不會(huì)被系統(tǒng)終止。

Android有一套自己獨(dú)特的進(jìn)程管理,比如可以設(shè)定“當(dāng)內(nèi)存小于22M時(shí),結(jié)束oom_adj大于14的進(jìn)程”這樣的策略,可以看到oom_adj非常重要,關(guān)乎進(jìn)程的死生命運(yùn)。

打印 郵件 收藏本頁(yè) 幫肋
推薦閱讀
相關(guān)閱讀