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

下載本文檔

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

文檔簡介

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

2、別人為神或者踩別人為 泥都對事情發(fā)展沒有好處。關(guān)于修改的內(nèi)容,主要是修改2個參數(shù):debug.sf.hw=o,修改為debug.sf.hw=1,此步驟為打開碩件加速 dalvik.vm.heapsize=24m,修改為 dalvik.vm.heapsize=32m,此步驟為修改虛 擬機(jī)大小為32m我來跟你解釋這2個參數(shù)冇什么作用,并月說說為什么我做rom的時候不修改 這2個參數(shù)。1. dalvik.vm.heapsize=24m,修改為 dalvik.vm.heapsize=32m,此步驟為修改 虛擬機(jī)大小為32m安卓系統(tǒng)實際上,就是建立在linux內(nèi)核上的一個java系統(tǒng),了解java的 同

3、學(xué)應(yīng)該知道,在運行java程序的時候,需要在每個程序上建立一個虛擬機(jī), 以獲得內(nèi)存的分配,優(yōu)點是假設(shè)某個程序崩潰了,系統(tǒng)只要關(guān)閉那個虛擬機(jī)就可 以了,不會影響其他程序,缺點是很耗內(nèi)存,因為你每開一個程序,就要新開一 個虛擬機(jī)。舉個例子,打開程序a的時候,程序a就口動向系統(tǒng)中請1份虛擬機(jī)內(nèi)存,然 后不關(guān)閉,再開一個程序b ,程序b要求向系統(tǒng)申請3份內(nèi)存,假設(shè)虛擬機(jī) 內(nèi)存設(shè)置為24m ,那么這2個程序合共占用了內(nèi)存1x24 4- 3x24 = 96m 。假 設(shè)虛擬機(jī)內(nèi)存設(shè)置為32m ,則這2個程序合共占用了內(nèi)存1x32 + 3x32 =128m那么,究竟修改好,述是不修改好呢?假設(shè)你的機(jī)子里,平常

4、只運行一些小程序,例如qq、看書軟件、小游戲等,那 么建議你不要修改,就使用標(biāo)準(zhǔn)的24m,因為足夠用,并且防止運行程序過多, 而產(chǎn)生崩潰。那是不是越小越好呢?當(dāng)然不是,因為分配給程序的內(nèi)存過小,冇 可能因為軟件中請不到足夠的內(nèi)存,而運行不流暢。假設(shè)平常經(jīng)常運行大型程序,例如大型3d游戲等,則可以稍微調(diào)大一些,以使 大型程序得到足夠的內(nèi)存來運行,可以更流暢。那是不是越大越好呢,當(dāng)然不 是,因為調(diào)的太大,其他程序就分配不到內(nèi)存,無法運行了。google為什么要把系統(tǒng)的虛擬機(jī)設(shè)置為24m呢?曲于有些軟件吃內(nèi)存,也冇 一些小軟件不吃內(nèi)存,我覺得這是屈于一個中庸的設(shè)計,由于沒法全部偏向大型, 也沒法全部

5、偏向小型,那就屮庸吧。我們都知道,華為c8650的機(jī)身內(nèi)存ram是256m ,這是固定的,給一個虛 擬機(jī)用24m還是32m ,自己決定吧,不過,對于某些程序控,在手機(jī)里裝一 大堆需要開啟服務(wù)的軟件的筒子們,建議述是別改了,否則開機(jī)的時候需要啟動 一大堆程序,最后弄得機(jī)子都開不了。我們來和常用的windows系統(tǒng)對比一下,假設(shè)同樣冇256m內(nèi)存windows系統(tǒng)的內(nèi)存機(jī)制是:來了一個程序,程序告訴系統(tǒng),我要100m ,然 后來了笫二個程序,第二個程序說,我要150m,這個時候,內(nèi)存已經(jīng)被使用 100m + 150m = 250m,剩余 6m。然后來了第三個程序,第三個程序說,我要50m,出于不夠

6、分給他,系統(tǒng)就崩 潰了。安卓系統(tǒng)的內(nèi)存機(jī)制是:來了一個程序,程序告訴系統(tǒng),我要100m ,然后來 了第二個程序,第二個程序說,我要150m,這個時候,內(nèi)存已經(jīng)被使w 100m + 150m = 250m,剩余 6m。然后來了第三個程序,第三個程序說,我要50m,這個時候系統(tǒng)門動關(guān)閉最先 申請內(nèi)存程序的虛擬機(jī),或者最次要程序的虛擬機(jī),他把第一個程序關(guān)閉了,系 統(tǒng)獲得了 100m的內(nèi)存,加上剩余的6m,合共106m,分配給第三個程序50m, 系統(tǒng)繼續(xù)運行。第一個是三個和尚,最后大家都沒水吃第二個是犧牲小我,完成大我。當(dāng)然,系統(tǒng)在實際運用屮,比上面復(fù)雜多了,例如安卓述加入了“隱藏機(jī)制”,只 要不運行

7、的程序,都自動馬上釋放內(nèi)存,windows系統(tǒng)出現(xiàn)3個程序搶內(nèi)存的 情況,也加入了“等待機(jī)制”等,有興趣的話可以門己研究。轉(zhuǎn)載一段隔壁的論壇的文章:安卓的原理不用在意內(nèi)存的大?。ㄒ韵?全部都是轉(zhuǎn)載)不用在意剩余內(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ù) 值徘徊

8、。但事實上他并不影響速度。相反加快了下次啟動應(yīng)用的速度。這本來就 是android標(biāo)榜的優(yōu)勢之一,如果人為去關(guān)閉進(jìn)程,沒有太大必要。特別是自動 關(guān)進(jìn)程的軟件。到這里冇人會說了,那為什么內(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)程管理軟件有無必要呢?有的。就是在運行大型程序z而

9、,你可以手動 關(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)簽是serviceo至于 廣播什么的我就不涉及了。所以沒有帶服務(wù)的應(yīng)用在后臺是完全不耗電

10、的,沒有 必要關(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

11、毒害 得太深了,總想保留更多的內(nèi)存,但實際上這并不一定會提升速度,相反卻喪失 了程序啟動快的這-系統(tǒng)特色,很沒必要。大家不妨按我說的習(xí)慣來用用這個系 統(tǒng)。最后推薦一款進(jìn)程管理軟件,systempanel, market上能搜到,界面友好啟 動快,功能也不錯,用于手動關(guān)閉進(jìn)程很好的軟件。祝大家玩機(jī)愉快,這系統(tǒng)開十天半個月都沒問題,不是windowso以上內(nèi)容均為轉(zhuǎn)帖過來,至于為什么開了大程序或者開了好兒個程序之后切換會 變慢,我的理解如下1大程序a已經(jīng)開啟,占用70%內(nèi)存,如果再想運行一個b,需要50%的內(nèi)存, 則就需要一個將a從內(nèi)存中釋放或者壓縮的過程,所以表現(xiàn)出來的就是慢一會 兒2. abc

12、de共占用內(nèi)存80%,運行新程序z需要20%的內(nèi)存,系統(tǒng)內(nèi)存因為 沒見過剩余0的時候,也就是應(yīng)該剩一部分空閑內(nèi)存,那么就需要從ae這幾 個程序中選擇一個或者幾個來關(guān)閉,這一過程也需要耗費系統(tǒng)資源,所以會慢一 會兒(也就是說你手動去殺程序的時候,就是替系統(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的

13、運行狀態(tài),但不耗電不占 cpu,如果你只是切換出去(按小房子而不是退出)那么自然會耗電,因為程序 還在運行。第二個參數(shù):debug.sf.hw=o,修改為debug.sf.hw=1,此步驟為打開硬件加速首先,我要說明,這個世界上沒冇免費的午餐,假設(shè)通過那么簡單的設(shè)置就可以 提升性能,那廠商為什么不做呢?由此可知這個玩意實在效用有限,或者是需要 和其他工具配合使用!這個設(shè)置的作用到現(xiàn)在為止還沒有一個標(biāo)準(zhǔn)的說法來說明這是用來干嘛的,開 啟硬件加速?開啟什么硬件加速?難道是3d性能?難道不開啟就沒有3d性能嗎?開啟cpu某些特殊性能?這個也不靠譜?。~@取cpu性能關(guān)鍵看指令集!而 且,為什么不一開始

14、就使用呢?開啟其他碩件性能?改了難道音箱變大聲了?改了難道30w像素的攝像頭可 以照500w t?改了難道內(nèi)存由256m變成512m t?要么就是讓cpu 直保持100%性能的狀態(tài)?那樣性能是提升了,但是電池效 果卻下降了?。ㄓX得這個解釋還稍微靠譜一些)我個人認(rèn)為,這個設(shè)置的作用,目的是開啟或者結(jié)束硬件廠商的優(yōu)化指令,因為 每個廠商對硬件的設(shè)置不一樣,肯定在某些位置設(shè)置了一個優(yōu)化指令,并且通過 這個設(shè)置來開啟。例如,google的工程設(shè)計標(biāo)準(zhǔn)里,設(shè)計了某個版木的手機(jī)設(shè)置標(biāo)準(zhǔn)是256m內(nèi) 存,并且告訴所有手機(jī)生產(chǎn)廠商:如果你是按照我的標(biāo)準(zhǔn)來制作,那么 debug.sf.hw=就設(shè)置為0,如杲你要白己更改部分硬件設(shè)置,那么就設(shè)置為1 , 但是設(shè)置為1后,你得指向一個文件,告訴系統(tǒng)究竟修改了一些什么了。某手 機(jī)廠商為了手機(jī)速度更快,增加內(nèi)存到512m,并口設(shè)置了一個文件,告訴系統(tǒng), 這個手機(jī)是用512m內(nèi)存的,不是256m。然后某個人開始使用帶有優(yōu)化指令的手機(jī),過了一段時間,又換了新手機(jī)后, 發(fā)現(xiàn)配置接近,但是性能卻不一樣,于是對比原來手機(jī)的文件,發(fā)現(xiàn)了這個指 令,于是進(jìn)行修改了,并口很有興致的

溫馨提示

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

評論

0/150

提交評論