智能手機(jī)硬件加速及虛擬內(nèi)存利弊分析_第1頁(yè)
智能手機(jī)硬件加速及虛擬內(nèi)存利弊分析_第2頁(yè)
智能手機(jī)硬件加速及虛擬內(nèi)存利弊分析_第3頁(yè)
智能手機(jī)硬件加速及虛擬內(nèi)存利弊分析_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、智能手機(jī)硬件加速及虛擬內(nèi)存利弊分析1. debug.sf.hw=0,修改為debug.sf.hw=1,此步驟為打開(kāi)硬件加速2. dalvik.vm.heapsize=24m,修改為dalvik.vm.heapsize=32m,此步驟為修改虛擬機(jī)大小為32m上面的第二點(diǎn)注意,這是修改虛擬機(jī)內(nèi)存,不是修改虛擬內(nèi)存!這2者完全不同!最近論壇里關(guān)于修改安卓系統(tǒng)2個(gè)參數(shù)的帖子很火,說(shuō)修改后可以提升手機(jī)的性能。修改后有說(shuō)好用的,也有說(shuō)不好用的,好用的把樓主捧為了神,不好用的把樓主罵個(gè)半死,其實(shí)科學(xué)嘛,總有好處有壞處的,我們只要好好分析,就能得知我們?yōu)槭裁匆?,還有修改后可以得到什么樣的益處。捧別人為神或者

2、踩別人為泥都對(duì)事情發(fā)展沒(méi)有好處。關(guān)于修改的內(nèi)容,主要是修改2個(gè)參數(shù):debug.sf.hw=0,修改為debug.sf.hw=1,此步驟為打開(kāi)硬件加速dalvik.vm.heapsize=24m,修改為dalvik.vm.heapsize=32m,此步驟為修改虛擬機(jī)大小為32m我來(lái)跟你解釋這2個(gè)參數(shù)有什么作用,并且說(shuō)說(shuō)為什么我做ROM的時(shí)候不修改這2個(gè)參數(shù)。1.dalvik.vm.heapsize=24m,修改為dalvik.vm.heapsize=32m,此步驟為修改虛擬機(jī)大小為32m安卓系統(tǒng)實(shí)際上,就是建立在linux內(nèi)核上的一個(gè)JAVA系統(tǒng),了解JAVA的同學(xué)應(yīng)該知道,在運(yùn)行JAVA程序

3、的時(shí)候,需要在每個(gè)程序上建立一個(gè)虛擬機(jī),以獲得內(nèi)存的分配,優(yōu)點(diǎn)是假設(shè)某個(gè)程序崩潰了,系統(tǒng)只要關(guān)閉那個(gè)虛擬機(jī)就可以了,不會(huì)影響其他程序,缺點(diǎn)是很耗內(nèi)存,因?yàn)槟忝块_(kāi)一個(gè)程序,就要新開(kāi)一個(gè)虛擬機(jī)。舉個(gè)例子,打開(kāi)程序A的時(shí)候,程序A就自動(dòng)向系統(tǒng)申請(qǐng)1份虛擬機(jī)內(nèi)存,然后不關(guān)閉,再開(kāi)一個(gè)程序B,程序B要求向系統(tǒng)申請(qǐng)3份內(nèi)存,假設(shè)虛擬機(jī)內(nèi)存設(shè)置為24M,那么這2個(gè)程序合共占用了內(nèi)存1X24+3X24=96M。假設(shè)虛擬機(jī)內(nèi)存設(shè)置為32M,則這2個(gè)程序合共占用了內(nèi)存1X32+3X32=128M那么,究竟修改好,還是不修改好呢?假設(shè)你的機(jī)子里,平常只運(yùn)行一些小程序,例如QQ、看書(shū)軟件、小游戲等,那么建議你不要修改

4、,就使用標(biāo)準(zhǔn)的24M,因?yàn)樽銐蛴?,并且防止運(yùn)行程序過(guò)多,而產(chǎn)生崩潰。那是不是越小越好呢?當(dāng)然不是,因?yàn)榉峙浣o程序的內(nèi)存過(guò)小,有可能因?yàn)檐浖姓?qǐng)不到足夠的內(nèi)存,而運(yùn)行不流暢。假設(shè)平常經(jīng)常運(yùn)行大型程序,例如大型3D游戲等,則可以稍微調(diào)大一些,以使大型程序得到足夠的內(nèi)存來(lái)運(yùn)行,可以更流暢。那是不是越大越好呢,當(dāng)然不是,因?yàn)檎{(diào)的太大,其他程序就分配不到內(nèi)存,無(wú)法運(yùn)行了。google為什么要把系統(tǒng)的虛擬機(jī)設(shè)置為24M呢?由于有些軟件吃?xún)?nèi)存,也有一些小軟件不吃?xún)?nèi)存,我覺(jué)得這是屬于一個(gè)中庸的設(shè)計(jì),由于沒(méi)法全部偏向大型,也沒(méi)法全部偏向小型,那就中庸吧。我們都知道,華為C8650的機(jī)身內(nèi)存RAM是256M,這是

5、固定的,給一個(gè)虛擬機(jī)用24M還是32M,自己決定吧,不過(guò),對(duì)于某些程序控,在手機(jī)里裝一大堆需要開(kāi)啟服務(wù)的軟件的筒子們,建議還是別改了,否則開(kāi)機(jī)的時(shí)候需要啟動(dòng)一大堆程序,最后弄得機(jī)子都開(kāi)不了。我們來(lái)和常用的windows系統(tǒng)對(duì)比一下,假設(shè)同樣有256M內(nèi)存windows系統(tǒng)的內(nèi)存機(jī)制是:來(lái)了一個(gè)程序,程序告訴系統(tǒng),我要100M,然后來(lái)了第二個(gè)程序,第二個(gè)程序說(shuō),我要150M,這個(gè)時(shí)候,內(nèi)存已經(jīng)被使用100M+150M=250M,剩余6M。然后來(lái)了第三個(gè)程序,第三個(gè)程序說(shuō),我要50M,由于不夠分給他,系統(tǒng)就崩潰了。安卓系統(tǒng)的內(nèi)存機(jī)制是:來(lái)了一個(gè)程序,程序告訴系統(tǒng),我要100M,然后來(lái)了第二個(gè)程序,

6、第二個(gè)程序說(shuō),我要150M,這個(gè)時(shí)候,內(nèi)存已經(jīng)被使用100M+150M=250M,剩余6M。然后來(lái)了第三個(gè)程序,第三個(gè)程序說(shuō),我要50M,這個(gè)時(shí)候系統(tǒng)自動(dòng)關(guān)閉最先申請(qǐng)內(nèi)存程序的虛擬機(jī),或者最次要程序的虛擬機(jī),他把第一個(gè)程序關(guān)閉了,系統(tǒng)獲得了100M的內(nèi)存,加上剩余的6M,合共106M,分配給第三個(gè)程序50M,系統(tǒng)繼續(xù)運(yùn)行。第一個(gè)是三個(gè)和尚,最后大家都沒(méi)水吃第二個(gè)是犧牲小我,完成大我。當(dāng)然,系統(tǒng)在實(shí)際運(yùn)用中,比上面復(fù)雜多了,例如安卓還加入了隱藏機(jī)制”,只要不運(yùn)行的程序,都自動(dòng)馬上釋放內(nèi)存,windows系統(tǒng)出現(xiàn)3個(gè)程序搶內(nèi)存的情況,也加入了等待機(jī)制”等,有興趣的話可以自己研究。轉(zhuǎn)載一段隔壁的論壇

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

8、。到這里有人會(huì)說(shuō)了,那為什么內(nèi)存少的時(shí)候運(yùn)行大型程序會(huì)慢呢?其實(shí)很簡(jiǎn)單,在內(nèi)存剩余不多時(shí)打開(kāi)大型程序,會(huì)觸發(fā)系統(tǒng)自身的調(diào)進(jìn)程調(diào)度策略,這是十分消耗系統(tǒng)資源的操作,特別是在一個(gè)程序頻繁向系統(tǒng)申請(qǐng)內(nèi)存的時(shí)候。這種情況下系統(tǒng)并不會(huì)關(guān)閉所有打開(kāi)的進(jìn)程,而是選擇性關(guān)閉,頻繁的調(diào)度自然會(huì)拖慢系統(tǒng)。所以,論壇上有個(gè)更改內(nèi)存閥值的程序可以有一定改善。但改動(dòng)也可能帶來(lái)一些問(wèn)題,取決于值的設(shè)定。那么,進(jìn)程管理軟件有無(wú)必要呢?有的。就是在運(yùn)行大型程序之前,你可以手動(dòng)關(guān)閉一些進(jìn)程釋放內(nèi)存,可以顯著的提高運(yùn)行速度。但一些小程序,完全可交由系統(tǒng)自己管理。談到這里,可能有的朋友會(huì)問(wèn),如果不關(guān)程序是不是會(huì)更耗電。我就說(shuō)說(shuō)an

9、droid后臺(tái)的原理,你就明白了。android的應(yīng)用在被切換到后臺(tái)時(shí),它其實(shí)已經(jīng)被暫停了,并不會(huì)消耗cpu資源,只保留了運(yùn)行狀態(tài)。所以為什么有的程序切出去重進(jìn)會(huì)到主界面。但是,一個(gè)程序如果想要在后臺(tái)處理些東西,如音樂(lè)播放,它就會(huì)開(kāi)啟一個(gè)服務(wù)。服務(wù)可在后臺(tái)持續(xù)運(yùn)行,所以在后臺(tái)耗電的也只有帶服務(wù)的應(yīng)用了。這個(gè)在進(jìn)程管理軟件里能看到,標(biāo)簽是service0至于廣播什么的我就不涉及了。所以沒(méi)有帶服務(wù)的應(yīng)用在后臺(tái)是完全不耗電的,沒(méi)有必要關(guān)閉。這種設(shè)計(jì)本來(lái)就是一個(gè)非常好的設(shè)計(jì),下次啟動(dòng)程序時(shí),會(huì)更快,因?yàn)椴恍枰x取界面資源,何必要關(guān)掉他們抹殺這個(gè)android的優(yōu)點(diǎn)呢?還有一個(gè)。為什么android一個(gè)

10、應(yīng)用看起來(lái)那么耗內(nèi)存。大家知道,android上的應(yīng)用是java,當(dāng)然需要虛擬機(jī),而android上的應(yīng)用是帶有獨(dú)立虛擬機(jī)的,也就是每開(kāi)一個(gè)應(yīng)用就會(huì)打開(kāi)一個(gè)獨(dú)立的虛擬機(jī)。這樣設(shè)計(jì)的原因是可以避免虛擬機(jī)崩潰導(dǎo)致整個(gè)系統(tǒng)崩潰,但代價(jià)就是需要更多內(nèi)存。以上這些設(shè)計(jì)確保了android的穩(wěn)定性,正常情況下最多單個(gè)程序崩潰,但整個(gè)系統(tǒng)不會(huì)崩潰,也永遠(yuǎn)沒(méi)有內(nèi)存不足的提示出現(xiàn)。大家可能是被windows毒害得太深了,總想保留更多的內(nèi)存,但實(shí)際上這并不一定會(huì)提升速度,相反卻喪失了程序啟動(dòng)快的這一系統(tǒng)特色,很沒(méi)必要。大家不妨按我說(shuō)的習(xí)慣來(lái)用用這個(gè)系統(tǒng)。最后推薦一款進(jìn)程管理軟件,systempanel,marke

11、t上能搜到,界面友好啟動(dòng)快,功能也不錯(cuò),用于手動(dòng)關(guān)閉進(jìn)程很好的軟件。祝大家玩機(jī)愉快,這系統(tǒng)開(kāi)十天半個(gè)月都沒(méi)問(wèn)題,不是windowso以上內(nèi)容均為轉(zhuǎn)帖過(guò)來(lái),至于為什么開(kāi)了大程序或者開(kāi)了好幾個(gè)程序之后切換會(huì)變慢,我的理解如下1 .大程序A已經(jīng)開(kāi)啟,占用70%內(nèi)存,如果再想運(yùn)行一個(gè)B,需要50%的內(nèi)存,則就需要一個(gè)將A從內(nèi)存中釋放或者壓縮的過(guò)程,所以表現(xiàn)出來(lái)的就是慢一會(huì)兒2 .ABCDE共占用內(nèi)存80%,運(yùn)行新程序Z需要20%的內(nèi)存,系統(tǒng)內(nèi)存因?yàn)闆](méi)見(jiàn)過(guò)剩余0的時(shí)候,也就是應(yīng)該剩一部分空閑內(nèi)存,那么就需要從AE這幾個(gè)程序中選擇一個(gè)或者幾個(gè)來(lái)關(guān)閉,這一過(guò)程也需要耗費(fèi)系統(tǒng)資源,所以會(huì)慢一會(huì)兒3 .也就是說(shuō)

12、你手動(dòng)去殺程序的時(shí)候,就是替系統(tǒng)在釋放內(nèi)存,就算你不殺,在需要內(nèi)存的時(shí)候系統(tǒng)也會(huì)自動(dòng)釋放。4 .不在后臺(tái)運(yùn)行的程序(沒(méi)服務(wù)的),即使不殺也不會(huì)耗電。在后臺(tái)運(yùn)行的(有服務(wù)的)程序,如后臺(tái)放歌,當(dāng)然會(huì)耗電。5.不是說(shuō)殺進(jìn)程沒(méi)用,不然作者就不會(huì)推薦進(jìn)程管理軟件了。哪個(gè)帶服務(wù)耗電哪個(gè)后臺(tái)一直在運(yùn)行,看服務(wù)就能看出來(lái),這樣的該殺。6,以qq舉例,正常的退,會(huì)在進(jìn)程管理里留下qq的運(yùn)行狀態(tài),但不耗電不占cpu,如果你只是切換出去(按小房子而不是退出)那么自然會(huì)耗電,因?yàn)槌绦蜻€在運(yùn)行。第二個(gè)參數(shù):debug.sf.hw=0,修改為debug.sf.hw=1,此步驟為打開(kāi)硬件加速首先,我要說(shuō)明,這個(gè)世界上沒(méi)有

13、免費(fèi)的午餐,假設(shè)通過(guò)那么簡(jiǎn)單的設(shè)置就可以提升性能,那廠商為什么不做呢?由此可知這個(gè)玩意實(shí)在效用有限,或者是需要和其他工具配合使用!這個(gè)設(shè)置的作用到現(xiàn)在為止還沒(méi)有一個(gè)標(biāo)準(zhǔn)的說(shuō)法來(lái)說(shuō)明這是用來(lái)干嘛的,開(kāi)啟硬件加速?開(kāi)啟什么硬件加速?難道是3D性能?難道不開(kāi)啟就沒(méi)有3D性能嗎?開(kāi)啟CPU某些特殊性能?這個(gè)也不靠譜?。~@取CPU性能關(guān)鍵看指令集!而且,為什么不一開(kāi)始就使用呢?開(kāi)啟其他硬件性能?改了難道音箱變大聲了?改了難道30W像素的攝像頭可以照500W了?改了難道內(nèi)存由256M變成512M了?要么就是讓CPU一直保持100%性能的狀態(tài)?那樣性能是提升了,但是電池效果卻下降了?。ㄓX(jué)得這個(gè)解釋還稍微靠譜

14、一些)我個(gè)人認(rèn)為,這個(gè)設(shè)置的作用,目的是開(kāi)啟或者結(jié)束硬件廠商的優(yōu)化指令,因?yàn)槊總€(gè)廠商對(duì)硬件的設(shè)置不一樣,肯定在某些位置設(shè)置了一個(gè)優(yōu)化指令,并且通過(guò)這個(gè)設(shè)置來(lái)開(kāi)啟。例如,google的工程設(shè)計(jì)標(biāo)準(zhǔn)里,設(shè)計(jì)了某個(gè)版本的手機(jī)設(shè)置標(biāo)準(zhǔn)是256M內(nèi)存,并且告訴所有手機(jī)生產(chǎn)廠商:如果你是按照我的標(biāo)準(zhǔn)來(lái)制作,那么debug.sf.hw=就設(shè)置為0,如果你要自己更改部分硬件設(shè)置,那么就設(shè)置為1,但是設(shè)置為1后,你得指向一個(gè)文件,告訴系統(tǒng)究竟修改了一些什么了。某手機(jī)廠商為了手機(jī)速度更快,增加內(nèi)存到512M,并且設(shè)置了一個(gè)文件,告訴系統(tǒng),這個(gè)手機(jī)是用512M內(nèi)存的,不是256M。然后某個(gè)人開(kāi)始使用帶有優(yōu)化指令的手機(jī),過(guò)了一段時(shí)間,又換了新手機(jī)后,發(fā)現(xiàn)配置接近,但是性能卻不一樣,于是對(duì)比原來(lái)手機(jī)的文件,發(fā)現(xiàn)了這個(gè)指令,于是進(jìn)行修改了,并且很有興致的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論