欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android電量優(yōu)化提高手機(jī)續(xù)航

 更新時(shí)間:2023年02月05日 08:40:01   作者:dora  
這篇文章主要為大家介紹了Android電量優(yōu)化提高你的手機(jī)續(xù)航示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

節(jié)能減排,從我做起。一款A(yù)ndroid應(yīng)用如果非常耗電,是一定會被主人嫌棄的。自從Android手機(jī)的主人用了你開發(fā)的app,一天下來,也沒干啥事,電就沒了。那么他就會想盡辦法找出耗電量殺手,當(dāng)他找出后,很有可能你開發(fā)的app就被無情的卸載了。為了避免這種事情發(fā)生,我們就要想想辦法讓我們的應(yīng)用不那么耗電,電都用在該用的時(shí)候和地方。

通過power_profile.xml查看各個(gè)手機(jī)硬件的耗電量

Google要求手機(jī)硬件生產(chǎn)商都要放入power_profile.xml文件到ROM里面。有些不太負(fù)責(zé)的手機(jī)生產(chǎn)商,就亂配,也沒有真正測試過。但我們還是可以大概知道耗電的硬件都有哪些。

先從ibotpeaches.github.io/Apktool/ 下載apktool反編譯工具,然后執(zhí)行adb命令,將手機(jī)framework的資源apk拉取出來。

adb pull /system/framework/framework-res.apk ./

然后我們用下載好的反編譯工具,將framework-res.apk進(jìn)行反編譯。

java -jar apktool_2.7.0.jar d framework-res.apk

apktool_2.7.0.jar換成你下載的具體的jar包名稱。 power_profile.xml文件的目錄如下:

framework-res/res/xml/power_profile.xml

<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
    <item name="ambient.on">0.1</item>
    <item name="screen.on">0.1</item>
    <item name="screen.full">0.1</item>
    <item name="bluetooth.active">0.1</item>
    <item name="bluetooth.on">0.1</item>
    <item name="wifi.on">0.1</item>
    <item name="wifi.active">0.1</item>
    <item name="wifi.scan">0.1</item>
    <item name="audio">0.1</item>
    <item name="video">0.1</item>
    <item name="camera.flashlight">0.1</item>
    <item name="camera.avg">0.1</item>
    <item name="gps.on">0.1</item>
    <item name="radio.active">0.1</item>
    <item name="radio.scanning">0.1</item>
    <array name="radio.on">
        <value>0.2</value>
        <value>0.1</value>
    </array>
    <array name="cpu.active">
        <value>0.1</value>
    </array>
    <array name="cpu.clusters.cores">
        <value>1</value>
    </array>
    <array name="cpu.speeds.cluster0">
        <value>400000</value>
    </array>
    <array name="cpu.active.cluster0">
        <value>0.1</value>
    </array>
    <item name="cpu.idle">0.1</item>
    <array name="memory.bandwidths">
        <value>22.7</value>
    </array>
    <item name="battery.capacity">1000</item>
    <item name="wifi.controller.idle">0</item>
    <item name="wifi.controller.rx">0</item>
    <item name="wifi.controller.tx">0</item>
    <array name="wifi.controller.tx_levels" />
    <item name="wifi.controller.voltage">0</item>
    <array name="wifi.batchedscan">
        <value>.0002</value>
        <value>.002</value>
        <value>.02</value>
        <value>.2</value>
        <value>2</value>
    </array>
    <item name="modem.controller.sleep">0</item>
    <item name="modem.controller.idle">0</item>
    <item name="modem.controller.rx">0</item>
    <array name="modem.controller.tx">
        <value>0</value>
        <value>0</value>
        <value>0</value>
        <value>0</value>
        <value>0</value>
    </array>
    <item name="modem.controller.voltage">0</item>
    <array name="gps.signalqualitybased">
        <value>0</value>
        <value>0</value>
    </array>
    <item name="gps.voltage">0</item>
</device>

抓到不負(fù)責(zé)任的手機(jī)生產(chǎn)商一枚,好家伙,這么多0.1,明眼人一看就知道這是為了應(yīng)付Google。盡管這樣,我們還是可以從中知道,耗電的有Screen(屏幕亮屏)、Bluetooth(藍(lán)牙)、Wi-Fi(無線局域網(wǎng))、Audio(音頻播放)、Video(視頻播放)、Radio(蜂窩數(shù)據(jù)網(wǎng)絡(luò))、Camera的Flashlight(相機(jī)閃光燈)和GPS(全球定位系統(tǒng))等。

電量殺手簡介

Screen

屏幕是非常耗電的一個(gè)硬件,不要問我為什么。屏幕主要有LCD和OLED兩種。LCD屏幕白色光線從屏幕背后的燈管發(fā)出,盡管屏幕顯示黑屏,依舊耗電,這種屏幕逐漸被淘汰,如果你翻出個(gè)早點(diǎn)的功能機(jī),或許能看到。那么大部分Android手機(jī)都是OLED的屏幕,每個(gè)像素點(diǎn)都是獨(dú)立的發(fā)光單元,屏幕黑屏?xí)r,所有像素都不發(fā)光。有必要時(shí),讓屏幕息屏很重要,當(dāng)然手機(jī)也有自動(dòng)息屏的時(shí)間設(shè)置,這個(gè)不太需要我們操心。

Radio數(shù)據(jù)網(wǎng)絡(luò)和Wi-Fi無線網(wǎng)絡(luò)

網(wǎng)絡(luò)也是非常耗電的,其中又以數(shù)據(jù)網(wǎng)絡(luò)的耗電更多于Wi-Fi的耗電。所以請盡量引導(dǎo)用戶使用Wi-Fi網(wǎng)絡(luò)使用app的部分功能,比如下載文件。

GPS

GPS也是很耗電的硬件,所以不要?jiǎng)硬粍?dòng)就請求地理位置,GPS平常是要關(guān)閉的,除非你在使用定位和導(dǎo)航等功能,這樣你的手機(jī)續(xù)航會更好。

WakeLock

如果使用了WakeLock,是可以有效防止息屏情況下的CPU休眠,但是如果不用了,你不釋放掉鎖的話,則會帶來很大的電量的開銷。

查看手機(jī)耗電的歷史記錄

// 上次拔掉電源到現(xiàn)在的耗電情況
adb shell dumpsys batterystats --unplugged

你在逗我?讓我看命令行的輸出?后面我們來使用Battery Historian的圖表進(jìn)行分析。

使用Battery Historian分析手機(jī)耗電量

安裝Docker

Docker下載網(wǎng)址 docs.docker.com/desktop/ins…

使用Docker容器編排

docker run -p 9999:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999

獲取bugreport文件

Android7.0及以上

adb bugreport bugreport.zip

Android6.0及以下

adb bugreport > bugreport.txt

上傳bugreport文件進(jìn)行分析

在瀏覽器地址欄輸入    http://localhost:9999

點(diǎn)擊Browse按鈕并上傳bugreport.zip或bugreport.txt生成分析圖表。

我們可以通過時(shí)間軸來分析應(yīng)用當(dāng)下的電池使用情況,比較耗電的是哪部分硬件。

使用JobScheduler來合理執(zhí)行后臺任務(wù)

JobScheduler是Android5.0版本推出的API,允許開發(fā)者在符合某些條件時(shí)創(chuàng)建執(zhí)行在后臺的任務(wù)。比如接通電源的情況下才執(zhí)行某些耗電量大的操作,也可以把一些不緊急的任務(wù)在合適的時(shí)候批量處理,還可以避開低電量的情況下執(zhí)行某些任務(wù)。

以上就是Android電量優(yōu)化手機(jī)續(xù)航的詳細(xì)內(nèi)容,更多關(guān)于Android電量優(yōu)化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論