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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

性能优化之电量优化2-使用Battery Historian生成电量消耗报告

發布時間:2024/1/18 编程问答 79 豆豆
生活随笔 收集整理的這篇文章主要介紹了 性能优化之电量优化2-使用Battery Historian生成电量消耗报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 數據準備

1.1 先斷開adb服務,然后開啟adb服務

a)adb kill-server

這一步很重要,因為當我們開發時做電量記錄時會打開很多可能造成沖突的東西。為了保險起見我們重啟adb。adb devices就會自動連接查找手機。

備注:mac可以直接使用adb命令;但是windows不行,需要進入到adt下:adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\platform-tools 操作adb命令。

(b)adb start-server

重啟adb。

1.2 重置電池數據收集數據

(c)adb shell dumpsys batterystats --enable full-wake-history(d)adb shell dumpsys batterystats --reset

我們通過以上命令來打開電池數據的獲取以及重置,清除干擾的數據,執行的效果如下:

1.3 獲取電量報告

把數據線直接拔掉(防止數據線造成充放電數據干擾),現在做一些測試,手動或者跑一些自動化的case都行。經過一段時間后,我們重新連接手機確認adb連上了,運行下面這條命令來將bugreport的信息保存到txt文檔中:

(e)adb bugreport > bugreport.txt

或者用下面的命令也可以,加上包名可以限制輸出的數據是我們要檢測的。:

(e.1)adb shell dumpsys batterystats > batterystats.txt(e.2)adb shell dumpsys batterystats > com.example.android.sunshine.app > batterystats.txt

注意:
json: unsupported value: NaN
有人用了描述:the problem started when reset the battery stats and enabled full-wake-history。
解決:重啟手機再試就好了。

1.4 使用battery-historian工具圖形化報告

到此我們有兩種方式分析這個文件:(historian-V1之前的版本 和historian-V2最新的版本),詳細在第二、三章分析。

2 historian-V1之前的版本分析方式

2.1 將txt文檔轉化為html文件,命令如下:

(f)python historian.py -a bugreport.txt > battery.html

2.2 環境配置

(1)python 未安裝需要先安裝python環境,并配置path,否則無法使用python命令。備注:mac可能不需要安裝。

(2)historian.py腳本是Python寫的,所以需要historian腳本,從github工具開源地址:上下載這個腳本。文件在github上面的scripts目錄下面,需要下載到命令行所在的目錄:

2.3 Google瀏覽器打開html文件

(1)注意:瀏覽器顯示滿屏的文字+英文,無法生成圖形報告,或者打開生成的HTML顯示錯誤如下,WARNING: Visualizer disabled. If you see this message, download the HTML then open it。

解決:需要使用vpn翻墻訪問谷歌服務。

(2)上面兩條命令執行成功后,會在目錄下發現兩個文件bugreport.txt和battery.html,這個時候我們用google瀏覽器打開html文件,可以看到如下信息:





2.4 Battery History報告各個參數的意義

重要的參數:WiFi、wake_lock、conn、mobile_ratio(蜂窩信號)

(1)橫坐標

上面的30,0代表的就是秒的意思,它是以一分鐘為周期,到第60秒的時候變為0。橫坐標就是一個時間范圍,咱們的例子中統計的數據是以重置為起點,獲取bugreport內容時刻為終點。我們一共采集了多長時間的數據,圖表下也有信息說明。(經其他人的反饋,這個坐標間隔是會隨著時間的長度發生改變,所以要以你的實際情況為準)

(2)縱坐標
縱坐標的數據就很麻煩了,數據量太多,一條一條來吧。

(3)battery_level
電量,可以看出電量的變化。比如上圖中的數據顯示剛開始電量是100%,然后在第11秒-12秒中間的某個時刻降到了99%。

(4)plugged
充電狀態,這一欄顯示是否進行了充電,以及充電的時間范圍。例如上圖反映了我們在第22s插入了數據線,然后一直持續了數據采集結束。

(5)screen
屏幕是否點亮,這一點可以考慮到睡眠狀態和點亮狀態下電量的使用信息。

(6)top
該欄顯示當前時刻哪個app處于最上層,就是當前手機運行的app,用來判斷某個app對手機電量的影響,這樣也能判斷出該app的耗電量信息。該欄記錄了應用在某一個時刻啟動,以及運行的時間,這對我們比對不同應用對性能的影響有很大的幫助。

(7)wake_lock*
wake_lock 該屬性是記錄wake_lock模塊的工作時間。是否有停止的時候等

(8)running
界面的狀態,主要判斷是否處于idle的狀態。用來判斷無操作狀態下電量的消耗。

(9)wake_lock_in*
wake_lock有不同的組件,這個地方記錄在某一個時刻,有哪些部件開始工作,以及工作的時間。

(10)gps
gps是否開啟

(11)phone_in_call
是否進行通話

(12)Sync
是否跟后臺同步.
可以把鼠標停在某一項上面。可以看到何時sync同步 啟動的,持續時間Duration多久。電池容量不會顯示單一行為消耗的具體電量,這里只能顯示使用電池的頻率和時長,你可以看分時段的剩余電量來了解具體消耗了多少電量。

(13)Job
后臺的工作,比如服務service的運行。從下面圖中可以看到qihoo的AppStore和魯大師都在運行后臺服務。

(14)data_conn*
數據連接方式的改變,上面的edge是說明采用的gprs的方式連接網絡的。此數據可以看出手機是使用2g,3g,4g還是wifi進行數據交換的。這一欄可以看出不同的連接方式對電量使用的影響。

(15)status
電池狀態信息,有充電,放電,未充電,已充滿,未知等不同狀態。
這一欄記錄了電池狀態的改變信息。

(16)phone_signal_strength
手機信號狀態的改變。
這一欄記錄手機信號的強弱變化圖,依次來判斷手機信號對電量的影響。

(17)health
電池健康狀態的信息,這個信息一定程度上反映了這塊電池使用了多長時間。
這一欄記錄電池狀態在何時發生改變,上面的圖中電池狀態一直處于good狀態。

(19)plug
充電方式,usb或者插座,以及顯示連接的時間。
這一欄顯示了不同的充電方式對電量使用的影響。

3 historian-V2最新的版本的方式

備注:本方法由于翻墻等原因還沒確定是否成功。

3.1 鏈接參考

(1)工具開源地址: https://github.com/google/battery-historian

(2)Install Docker安裝路徑:https://docs.docker.com/engine/installation/

(3)參考項目安裝 Docker
https://docs.docker.com/docker-for-windows/

http://wiki.jikexueyuan.com/project/docker/installation/mac.html

3.2 安裝Docker環境來安裝Battery History

(1)描述
根據gitbub上面介紹,Battery History工具的安裝有兩種方式:
A、通過安裝Docker環境來安裝。(這種方式很簡單,Docker真心好用,太彪悍了!)
B、安裝GO環境、Git環境、Python、Java環境(不推薦)

(2)Docker環境
Docker是一種容器,一般用于云計算和大數據平臺。提倡的一種思想就是:軟件即服務。這句話不是蓋的,一句話就可以將別人發布的docker服務環境一次全部copy過來(注意是整個軟件環境哦,相當于復制了一臺一模一樣的主機,連軟件都不要安裝了,全有了。彪悍吧!)
Docker只支持Windows10(mac貌似也支持)

(3)Docker安裝注意問題:翻墻

A、進部署好的服務器docker,顯示錯誤如下:
{“UploadResponse”:[{“sdkVersion”:23,”historianV2Cs…
https://github.com/google/battery-historian/issues/64
解決:You need a network connection.需要翻墻。 動腦的centos無法翻墻訪問谷歌服務導致。

B、進部署好的動腦服務器docker,沒有顯示錯誤,但是最上面提示了紅色的顏色塊,表示訪問出錯。
解決:無法翻墻訪問谷歌服務導致。

(4)操作命令

Gitbub上面是這樣的命令及地址:

docker -- run -p <port>:9999 gcr.io/android-battery-historian:2.1 --port 9999

這個里面的地址貌似不能用(可能是翻墻軟件屏蔽了的原因),然后找到了一個老外的鏡像,是2.0版本的。(鏡像地址:blystad/battery-historian或者bhaavan/battery-historian)

關鍵:

docker -- run -p 6666:9999 blystad/battery-historian --port 9999

或者命令如下(上面這種是臨時開辟的程序服務,下面是開啟了一個單獨系統服務更正規的服務。):

docker run -d –p 9999:9999 bhaavan/battery-historian

3.3 導出手機的Bugreport日志

輸入指令 adb bugreport > bugreport.txt導出

3.4 上傳bugreport.txt文件至 http://localhost:9999

總結

以上是生活随笔為你收集整理的性能优化之电量优化2-使用Battery Historian生成电量消耗报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国内福利视频 | 国v精品久久久网 | jizz中文字幕| 调教女m荡骚贱淫故事 | 激情宗合网| 在线免费观看黄色小视频 | 日本黄色免费 | 欧美极品少妇xxxxⅹ免费视频 | 免费在线观看av的网站 | wwwxxx国产| 538国产精品一区二区 | 91精品国产色综合久久不卡98 | 小泽玛丽亚在线观看 | 亚洲欧洲一区 | 欧美猛男gaygay | 色夜av | 婷婷国产成人精品视频 | 91视频分类| 日韩欧美国产高清91 | 狠狠干超碰 | 日韩视频中文字幕 | 狠狠插影院| 日日艹 | 亚洲av鲁丝一区二区三区 | 催眠调教艳妇成肉便小说 | 很黄的性视频 | 国产一区二区三区视频在线播放 | 久久免费的精品国产v∧ | 国产精品久久久久久久妇 | 少妇高清精品毛片在线视频 | 欧美卡一卡二卡三 | 在线观看的免费 | 日韩电影一区 | 欧美日韩国产一区二区三区 | 无码人妻精品一区二区三区不卡 | 日韩毛片在线视频 | 亚洲欧美日韩综合一区二区 | 奇米影视久久 | 国产视频69 | 性激情视频 | 两个小y头稚嫩紧窄h文 | 夜夜爽av| 禁漫天堂黄漫画无遮挡观看 | 91精品人妻一区二区 | 91精选国产 | 一区二区三区黄色 | 日韩av手机在线免费观看 | 久久国产精品电影 | 国产精品偷乱一区二区三区 | 这里只有久久精品 | 免费av中文字幕 | 久久99久久98精品免观看软件 | 日韩欧美中文字幕一区 | 国产精品视频专区 | 少妇一级淫片免费放播放 | 在线观看三级视频 | 一区二区视频在线观看 | 豆花在线视频 | 国产三级在线观看完整版 | 蜜桃一区二区 | 秋霞av鲁丝片一区二区 | 欧美一级日韩 | 国内自拍网站 | 超碰caoporen| 日韩欧美亚洲一区二区 | 无码国产精品一区二区免费式直播 | 成人免费观看视频大全 | 最近的中文字幕 | 欧美成性色| 狠狠做深爱婷婷久久综合一区 | av一级久久 | 97人妻精品一区二区三区动漫 | 午夜影院一区 | av国产在线观看 | 男女激情网 | 婷婷在线免费 | 日韩欧美天堂 | 国产大片一区二区三区 | 欧美一级黄色录像 | 亚洲综合日韩精品欧美综合区 | 一道本一区| 不卡精品视频 | 男同精品 | 草的我好爽 | 91麻豆精品91久久久久同性 | 亚洲精品码 | 久热精品在线视频 | 久久久久久久9 | 99久久免费看精品国产一区 | 少妇户外露出[11p] | 久久午夜无码鲁丝片 | 色妞色视频一区二区三区四区 | a久久久久 | 性欧美又大又长又硬 | 久久久精品久久久久 | 91偷拍网| 久久久久亚洲av成人毛片韩 | 毛片视屏 | 狠狠干欧美 |