iOS耗電量測試——Sysdiagnose。


利用sysdiagnose開展IOS耗電量測試

參考:iOS 電量測試實踐https://cloud.tencent.com/developer/article/1006222

          iOS耗電量優化實踐https://www.jianshu.com/p/bd2c1ce5c02a

     sysdiagnose for iOS官方介紹文檔。

 

Sysdiagnose:Sysdiagnose是蘋果的日志系統,記錄電池、第三方APP、各種系統功能和應用的所有運行情況,將Sysdiagnose導出並解壓后,我們能在文件夾中找到名為powerlog_xxxxx.PLSQL的文件,用數據庫可視化工具(本文使用SQLiteStudio)打開,其中詳細記錄了我們進行iOS耗電量測試的所需的數據。

備注:在參考其他教程時,都會讓去蘋果開發者網站安裝對應的證書,不過,在實際操作中,發現可以通過打開iPhone的開發者功能,前往log中打開Battery選項。若還是在Sysdiagnose中未發現Powerlog_xxxx.PLSQL文件,可前往蘋果開發者網站登錄開發者賬號下載Battery Life的profile后重試。

以“測試APP1、APP2二十分鍾單通道預覽耗電量”為例

一、用例執行

將手機設為固定亮度,電量最好保持在80%以上,斷開電源。由於記錄APP各模塊耗電量的數據1h統計一次,所以我們在某一小時內(如15:00-16:00)內對同個APP只能執行一項用例,例如:15:05-15:25執行APP1的用例,15:30-15:50執行APP2的用例,並在該小時其余時間段不能運行上述APP。為方便之后進行數據查找,可以記下執行用例開始和結束的時間戳。

二、數據獲取

  1. 觸發sysdiagnose診斷。同時按住按音量+和音量-和息屏(喚醒)鍵1至1.5秒並釋放,會觸發截圖或息屏並有一個短促的振動,前往設置→隱私→分析與改進→分析數據,若同時出現類似如下三個文件則說明觸發成功。

     

  2. 等待診斷數據收集完成(大約10min),前往設置→隱私→分析與改進→分析數據,查找對應時間點觸發的系統診斷文件 。    
  3. 根據官方文檔,我們可以同步手機數據至Windows或者macOS設備,去對應的目錄下即可找到sysdiagnose文件(嘗試,未成功)。除此之外,我們可以直接點擊進入文件,通過右上角分享按鈕,使用AirDrop或社交軟件將文件傳輸到macOS或Windows設備。
  4. 將sysdiagnose文件解壓,進入目錄logs/powerlogs/,找到.PLSQL文件,即為我們所需要的記錄電池信息的數據庫文件,用SQLite可視化工具打開。

三、數據分析

  

幾個比較重要的表(需要更多表信息可以訪問參考文章鏈接):

表名

內容

PLAccountingOperator_EventNone_Nodes

 

該表記錄了各APP包名與其對應的ID以及各硬件模塊與其對應的ID

 

PLAccountingOperator_Aggregate

_RootNodeEnergy

 

各個APP的詳細耗電量數據,包括該APP在各個硬件上的耗電量。timestamp字段為該一小時起始時間戳(每整點一條數據)

 

PLBatteryAgent_EventBackward_Battery

 

整機的電池數據,包括電壓、電流、溫度、當前電池容量等(每20s一個數據)

 

PLAppTimeService_Aggregate_AppRunTime

 

APP運行時長統計,若不知某APP包名,可用該表分析。(每整點一條數據)

 

 

四、結果統計

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM