日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Android App优化之延长电池续航时间

發(fā)布時(shí)間:2023/11/27 生活经验 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android App优化之延长电池续航时间 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

禁用廣播接收器

確保廣播接收器在真正須要時(shí)才運(yùn)行指令,在onResume中當(dāng)中廣播接收器,在onPause中禁用。

在manifest文件里聲明廣播接收器時(shí),事先默認(rèn)配置成禁用的

<receiver android:name=".BatterReceiver" android:enabled="false">


網(wǎng)絡(luò)

1. 后臺數(shù)據(jù)。后臺傳輸數(shù)據(jù)時(shí)。推斷ConnectivityManager的getBackgroundDataSetting()的返回值,假設(shè)為true。則進(jìn)行后臺傳輸數(shù)據(jù),假設(shè)為false,則不進(jìn)行后臺傳輸數(shù)據(jù)

2. 數(shù)據(jù)傳輸,手機(jī)設(shè)備中最耗電的部件依次是:Wi-Fi-》3G-》CPU-》屏幕(都在最高負(fù)載時(shí)的數(shù)據(jù)),所以在數(shù)據(jù)傳輸時(shí)一定不要長時(shí)間的占用網(wǎng)絡(luò)資源,而是應(yīng)該突發(fā)性地傳輸一段時(shí)間內(nèi)所需的全部資源,關(guān)于這個(gè)有一篇論文:http://www.research.att.com/articles/featured_stories/2011_03/201102_Energy_efficient?fbid=1N507ukp1ch,最后結(jié)論就是:The single most important measure: transmit as much data as possible in a single burst and then end the connection.

1.使用GZIP壓縮文本數(shù)據(jù),使用GZIPInputStream類訪問數(shù)據(jù)

2.假設(shè)可能的話。使用JPEG而不是PNG的圖片文件

3.使用匹配設(shè)備分辨率的資源(比方。不必為96x54大小的顯示空間下載1920x1080的圖片)


位置

1. 在不須要監(jiān)聽位置時(shí)注銷位置監(jiān)聽器

2. 減小更新位置的頻率

3. 使用合適的位置服務(wù)。android提供了三種位置服務(wù),GPS、網(wǎng)絡(luò)定位、被動定位(你的應(yīng)用會等待其它應(yīng)用。服務(wù)或系統(tǒng)組件發(fā)出定位請求,而后和其它監(jiān)聽器一起接受更新)

4. 使用Criteria類來篩選合適的定位服務(wù)

5. 使用最后已知位置,能夠提高用戶體驗(yàn)


傳感器

減少傳感器數(shù)據(jù)的更新頻率來達(dá)到省電的目的


圖形

在Android應(yīng)用性能優(yōu)化這本書中的第八章有專門的介紹


提醒AlarmManager

ELAPSED_TIME

ELAPSED_TIME_WAKEUP

RTC

RTC_WAKEUP

使用ELAPSED_TIME和RTC表示。計(jì)時(shí)完時(shí)假設(shè)設(shè)備沒有被喚醒則等待設(shè)備被喚醒時(shí)才運(yùn)行對應(yīng)的動作

所以要盡量使用這兩個(gè)參數(shù)

另外,使用AlarmManager的setInexactRepeating也能夠達(dá)到省電的目的,主要差別是在系統(tǒng)怎樣安排提醒到時(shí),Android能夠調(diào)整實(shí)際的觸發(fā)事件。同一時(shí)候觸發(fā)多個(gè)提醒(可能來自多個(gè)應(yīng)用),這樣的提醒更節(jié)能,系統(tǒng)也避免了出現(xiàn)不必要的喚醒。


WakeLock

獲得wakelock之后一定要記得釋放

為了防止出現(xiàn)故障,建議使用帶超時(shí)的WakeLock.acquire()版本號,他會在超過時(shí)限后釋放WakeLock。

假設(shè)用到的屏幕是和Activity中的View關(guān)聯(lián)的,也能夠在布局文件里使用XML屬性android:keepScreenOn。

這樣的方法的優(yōu)點(diǎn)是,不必冒著忘記釋放WakeLock的風(fēng)險(xiǎn),交由系統(tǒng)處理。也不須要在manifest文件里設(shè)置權(quán)限

轉(zhuǎn)載于:https://www.cnblogs.com/gcczhongduan/p/5105658.html

總結(jié)

以上是生活随笔為你收集整理的Android App优化之延长电池续航时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。