智能設(shè)備的普及給了移動(dòng)應(yīng)用廣闊的舞臺(tái),但是目前電池技術(shù)的發(fā)展依然處于瓶頸,大部分性能強(qiáng)勁的手機(jī)基本都處于“一天一充”的狀態(tài)。假如一款應(yīng)用耗電量過(guò)大,用戶極有可能減少使用次數(shù)或直接卸載。那么,開(kāi)發(fā)者如何讓自己的應(yīng)用更省電呢?
有著8年移動(dòng)產(chǎn)品管理經(jīng)驗(yàn)的Rajat Harlalka今天撰文一篇,講述了他的心得。文章全文如下:
從屏幕中省電
屏幕是整個(gè)設(shè)備中最耗電的部分。據(jù)一篇移動(dòng)游戲電量消耗的研究報(bào)告顯示,智能手機(jī)的液晶屏消耗了45%到50%的系統(tǒng)電量。
智能手機(jī)的屏幕在一段時(shí)間的無(wú)操作之后會(huì)自動(dòng)關(guān)閉,開(kāi)發(fā)者要善于利于這一特性。另外,正常情況下屏幕的顯示和亮度都是默認(rèn)設(shè)置,開(kāi)發(fā)者可以在應(yīng)用中加入亮度感應(yīng)功能,通過(guò)降低畫面亮度來(lái)達(dá)到省電的目的。
減少數(shù)據(jù)交換
除了屏幕之外,無(wú)線通信組件(如GSM、3G、WLAN等)是智能設(shè)備里第二耗電的部分。據(jù)新加坡國(guó)立大學(xué)的研究報(bào)告顯示,當(dāng)設(shè)備的屏幕亮著的時(shí)候,無(wú)線通訊組件大約消耗了40%左右的系統(tǒng)電量;當(dāng)屏幕關(guān)閉的時(shí)候,它們將消耗70%的系統(tǒng)電量。
我們可以使用一些方法來(lái)限制通信組件的使用。如在應(yīng)用的后臺(tái)服務(wù)器中采用間隔數(shù)據(jù)傳輸來(lái)代替周期數(shù)據(jù)傳輸,調(diào)整用戶數(shù)據(jù)傳輸重疊的時(shí)間,用TCP持久鏈接和HTTP管線化來(lái)代替TCP同步鏈接。另外,數(shù)據(jù)的本地緩存和服務(wù)器緩存也是減少應(yīng)用和服務(wù)器交換的一個(gè)有效方式。
定位服務(wù)也可能讓電量溜走,非必要情況下不要在應(yīng)用中隨意使用。同時(shí),當(dāng)設(shè)備沒(méi)有移動(dòng)的情況下,應(yīng)該關(guān)閉GPS服務(wù),在設(shè)備位移時(shí)使用加速計(jì)來(lái)讓GPS重新啟動(dòng)。
移動(dòng)廣告的插入也是數(shù)據(jù)頻繁交換的原因之一。據(jù)統(tǒng)計(jì),移動(dòng)廣告占了應(yīng)用數(shù)據(jù)流量的65%,耗電量的23%。
降低CPU使用強(qiáng)度
通過(guò)減少不必要的處理進(jìn)程,對(duì)應(yīng)用的運(yùn)行進(jìn)行優(yōu)化,也能起到節(jié)約電量的作用。
在游戲中,開(kāi)發(fā)者可以嘗試降低畫面幀數(shù)。大多數(shù)情況下,每秒24到30幀就可以流暢地顯示畫面,略微地降低幀數(shù)不會(huì)影響用戶的使用體驗(yàn)。應(yīng)用終止的時(shí)候,應(yīng)該關(guān)閉應(yīng)用的線程,否則你有可能要為此重寫代碼。同時(shí),開(kāi)發(fā)者還必須要了解目標(biāo)設(shè)備的硬件配置,這樣他們?cè)陂_(kāi)發(fā)應(yīng)用時(shí)可以用設(shè)備自帶的硬件輔助解碼器來(lái)部分代替CPU的功能。
最后,將應(yīng)用中復(fù)雜的運(yùn)算放到云端執(zhí)行,減少應(yīng)用訪問(wèn)磁盤空間的頻率等方式都能起到降低CPU使用強(qiáng)度的作用。
善于利用工具
開(kāi)發(fā)者要學(xué)會(huì)利用一些工具來(lái)分析應(yīng)用電量損耗。如在iOS上,開(kāi)發(fā)者可以在設(shè)置-開(kāi)發(fā)者-電量診斷中生成電量使用日志,分析每個(gè)應(yīng)用在使用中的CPU功耗和網(wǎng)絡(luò)連接情況;在Android上,開(kāi)發(fā)者可以通過(guò)PowerTutor一類的應(yīng)用來(lái)監(jiān)視電量使用情況。當(dāng)然,最好的方式是在受控環(huán)境下使用數(shù)字萬(wàn)用表直接對(duì)電池消耗進(jìn)行測(cè)算。
摩托羅拉前CEO Sanjay Jha曾說(shuō)過(guò):“架構(gòu)差的應(yīng)用會(huì)吞噬掉你手機(jī)中絕大多數(shù)的電量。”現(xiàn)在許多智能手機(jī)用戶也在抱怨一些應(yīng)用讓他們的手機(jī)電池壽命不斷縮短。而與之相對(duì),許多開(kāi)發(fā)者在應(yīng)用開(kāi)發(fā)過(guò)程中卻都忽視了“節(jié)電”這個(gè)基本概念。
文中提到的方式雖然簡(jiǎn)單,但是都可以大大降低應(yīng)用使用過(guò)程中的電量損耗。開(kāi)發(fā)者可以根據(jù)自身情況,合理取用。

開(kāi)發(fā)者教你如何讓手機(jī)應(yīng)用更省電
新聞熱點(diǎn)
疑難解答
圖片精選