資源描述:
《手機(jī)安卓系統(tǒng)的耗電問題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、手機(jī)安卓系統(tǒng)的耗電問題在這里說明一下,安卓系統(tǒng)其實(shí)不需要極度精簡(jiǎn),至少我不推薦這種行為,只是一味的精簡(jiǎn)并不會(huì)給系統(tǒng)帶來什么好處反而只有害處,因?yàn)樵S多系統(tǒng)應(yīng)用跟設(shè)置里的選項(xiàng)有關(guān)聯(lián),刪除掉就會(huì)在選擇關(guān)聯(lián)選項(xiàng)的時(shí)候FC,所以應(yīng)當(dāng)盡量保證系統(tǒng)的完整性。后臺(tái)為什么會(huì)無緣無故多出很多進(jìn)程呢?如果你真的理解安卓進(jìn)程管理機(jī)制和軟件架構(gòu)的話,就會(huì)發(fā)現(xiàn)各種Receiver,各種CHANGED事件其實(shí)才是主因,一切都是軟件進(jìn)程事件觸發(fā)自行后臺(tái)啟動(dòng)造成的。因?yàn)榘沧康倪M(jìn)程管理機(jī)制是事件觸發(fā)式,比如開機(jī)時(shí)、開機(jī)后、網(wǎng)絡(luò)連接更改、電量不足、電量充足、時(shí)間更改、插上電源、斷開電源等等這些狀態(tài)的改變都可看作一個(gè)事件,而安卓
2、系統(tǒng)允許程序關(guān)聯(lián)這些事件(這個(gè)是在程序開發(fā)中由開發(fā)者設(shè)定的),比如關(guān)聯(lián)開機(jī)事件后,就相當(dāng)于我們一般說的開機(jī)啟動(dòng)了。但是安卓系統(tǒng)是可以允許一個(gè)程序關(guān)聯(lián)多個(gè)事件的,以谷歌地圖舉例,它關(guān)聯(lián)的觸發(fā)事件有“開機(jī)后、安裝程序、卸載程序、更新程序、插上電源”等等,這些事件中的任何一個(gè)狀態(tài)發(fā)生改變,系統(tǒng)就會(huì)自動(dòng)后臺(tái)運(yùn)行谷歌地圖。雖然安卓系統(tǒng)這樣做的目的是為了提高程序運(yùn)行的效率,但是實(shí)際上卻給普通用戶帶來了太多不必要的麻煩。安卓系統(tǒng)為什么會(huì)有時(shí)突然出現(xiàn)卡頓呢,是因?yàn)楹芏嘬浖惭b完以后所產(chǎn)生的自啟動(dòng)項(xiàng),會(huì)在你不知道的情況下,并會(huì)根據(jù)不同觸發(fā)條件自行啟動(dòng)自身的進(jìn)程,每次如果有一些自啟動(dòng)進(jìn)程一起啟動(dòng)的時(shí)候都會(huì)臨時(shí)
3、占用大量CPU資源和內(nèi)存資源,所以系統(tǒng)此時(shí)必然會(huì)出現(xiàn)卡頓。很多軟件甚至?xí)谀闱袚Q移動(dòng)/WiFi網(wǎng)絡(luò)的時(shí)候自行啟動(dòng)。假如你事先沒有把WiFi設(shè)置成永不休眠,那么鎖屏一段時(shí)間后WiFi會(huì)自行關(guān)閉進(jìn)入休眠狀態(tài),每一次開屏系統(tǒng)就會(huì)自行啟用一次WiFi,而很多軟件在啟用WiFi或者切換為移動(dòng)網(wǎng)絡(luò)的時(shí)候就會(huì)以此為觸發(fā)條件自行啟動(dòng)。這個(gè)過程雖然短暫,但是會(huì)瞬間消耗大量的硬件資源,一定會(huì)出現(xiàn)卡頓的現(xiàn)象。所以你需要做的就是,使用自啟管理禁止這些情況發(fā)生。而且機(jī)器總是特別耗電的問題,也大多是出在這上面,并非全是基帶和系統(tǒng)版本的問題。這才是需要關(guān)注的本質(zhì)問題:后臺(tái)進(jìn)程太多,總是自行啟動(dòng)無謂的消耗電量。很多人總是
4、關(guān)注自己機(jī)器的內(nèi)存使用情況怕運(yùn)行內(nèi)存剩余量變少,其實(shí)是錯(cuò)誤的。2.3.4的安卓系統(tǒng)是改進(jìn)了的內(nèi)存管理機(jī)制,內(nèi)存使用率高一些其實(shí)是一種優(yōu)化,大多時(shí)候系統(tǒng)會(huì)保留緩存進(jìn)程并占用一些內(nèi)存以加速程序運(yùn)行。所以總是用任務(wù)管理器殺進(jìn)程來節(jié)省內(nèi)存其實(shí)是一種錯(cuò)誤的行為,因?yàn)槟憧粘鎏鄡?nèi)存并沒有好處,往往只有壞處。例如你殺掉了某個(gè)系統(tǒng)進(jìn)程,系統(tǒng)會(huì)以為是緊急釋放,現(xiàn)在內(nèi)存又有了空間就會(huì)自動(dòng)的重新加載這個(gè)進(jìn)程,這么重新加載一下就要?jiǎng)佑肅PU進(jìn)行輪詢遍歷,要通過I/O讀取存儲(chǔ)器....這個(gè)時(shí)候雖然你可能并不知道,但系統(tǒng)開銷極其巨大,給你的直觀感受就是—怎么又卡了,又比如,你隨手干掉了一堆進(jìn)程,內(nèi)存空出來了,然后你滑
5、動(dòng)界面發(fā)現(xiàn)怎么還是卡?一次次的清理內(nèi)存,相當(dāng)于一次次的清空系統(tǒng)的冷熱判斷機(jī)制,明明很冷的程序,系統(tǒng)給你加載上了,明明很熱的程序,系統(tǒng)轉(zhuǎn)手給你釋放了....要么系統(tǒng)出錯(cuò),要么重建程序帶來系統(tǒng)消耗。在了解了這些以后,有針對(duì)性的進(jìn)行優(yōu)化,刪除一小部分實(shí)在沒用的系統(tǒng)附帶應(yīng)用,盡量保證系統(tǒng)完整性,通過其他的方法來提高系統(tǒng)表現(xiàn)即可,自啟管理這個(gè)軟件恰好是能把每個(gè)軟件的receiver接收器事件全部列出來,讓用戶自己選擇禁用或者啟用,而市場(chǎng)上大大多數(shù)所謂的優(yōu)化軟件只能做到禁止最簡(jiǎn)單的開機(jī)項(xiàng)(基本沒有什么意義),這就是為什么我推薦大家使用自啟管理這個(gè)軟件的原因。補(bǔ)充關(guān)于安卓?jī)?nèi)存管理機(jī)制的一些介紹和闡述:A
6、ndroid的內(nèi)存管理機(jī)制,這是一種完全不同于WM,Symbian,Windows乃至Linux的機(jī)制,是一種專門針對(duì)移動(dòng)系統(tǒng)設(shè)計(jì)的機(jī)制,所以不要用其他系統(tǒng)的一些慣性思維來玩安卓。在傳統(tǒng)機(jī)制下,程序結(jié)束,內(nèi)存釋放,程序進(jìn)入后臺(tái),系統(tǒng)消耗資源維持后臺(tái)進(jìn)程運(yùn)行和狀態(tài)。但Android并非如此,Android將運(yùn)行在操作系統(tǒng)上的程序分為六大類:1.前臺(tái)(Foreground),你正在運(yùn)行操作的程序,例如你正在瀏覽網(wǎng)頁,這個(gè)瀏覽器就是前臺(tái)程序,這類程序是系統(tǒng)優(yōu)先保障的程序2.主要服務(wù)(Primaryservice),支撐系統(tǒng),以及極為重要的功能應(yīng)用。例如電話功能,這些主要服務(wù)一般不會(huì)被系統(tǒng)自動(dòng)結(jié)束
7、,即使你主動(dòng)殺掉,系統(tǒng)也會(huì)自己重新加載,甚至可能導(dǎo)致不可預(yù)知的錯(cuò)誤,需要重啟機(jī)器才能解決。3.次要服務(wù)(Secondaryservice),和系統(tǒng)應(yīng)用息息相關(guān)的許多程序,例如聯(lián)系人,短信,硬件驅(qū)動(dòng)觸發(fā)器,谷歌套件,乃至Launcher,都是次要服務(wù),如果你殺掉了Launcher,按小房子回到桌面的時(shí)候就只能重新慢慢等待Launcher加載;也有一些第三方程序因?yàn)樾枰诤笈_(tái)繼續(xù)運(yùn)行,建立次要服務(wù),例如QQ,微博,市場(chǎng)。系統(tǒng)