使用 Xcode 檢測電池的消耗量

好的使用者經驗也包含較低耗電量,我們需盡可能的減少 App 不必要的運算來降低耗電量,Xcode 提供完善的電力消耗診斷工具,它亦可顯示 CPU 使用率、記憶體用量、檔案的存取等資訊,本篇文章將著重於電力消耗 (Energy Impact)。

本文測試環境使用 Xcode 7.2 (7C68) 與 iPhone 5s with iOS 9.2

首先先開啟要測試的專案 (Diagnosis 放在 GitHub 上),接著開啟 Debug Navigator,如下圖所示。

ios_energy_1

 

選擇要被測試的機器,這邊請務必選擇實機,而不能選擇模擬器 (Simulator),否則不會顯示電力消耗 (Energy Impact) 狀況。

ios_energy_2

 

接著按下左上角的執行按鈕開始進行檢測。

ios_energy_3

 

在畫面上方左半側可以看到 Utilization,該儀表板顯示目前電力的使用況狀,指針會根據電力消耗的狀況即時地變化。

ios_energy_6

可以看到儀表板上有三種顏色,分別代表以下意思:

  • 綠色:電力的消耗量是合理的。
  • 黃色:電力消耗量較高,如果沒有謹慎的處理會造成很大的耗電量。
  • 紅色:電力的消耗量極高,表示電池的消耗量將非常顯著。

 

而在畫面上方右半側可以看到 Average,可以看到電力平均的消耗量。左邊的 Energy Impact 顯示平均電力的消耗狀態,而右邊的 Overhead 表示平均使用到系統資源的比例 (以百分比顯示)。

ios_energy_7

 

電力的消耗主要有 4 個部分,分別為 CPU、Location、Networking、Background。

ios_energy_4

 

Xcode 會每秒鐘檢測電力消耗的狀況,灰色的小方格表示目前測試的 App 有使用到的服務。

ios_energy_5

圖上可以看到兩種顏色,分別代表以下意思:

  • Overhead (紅色):電力的耗損是來自於系統的資源,如無線通訊模組,像是 Wi-Fi、藍芽 (Bluetooth)、行動網路 (Cellular Network),或是有使用定位 (Location) 模組等。
  • Cost (藍色):電源的消耗來至於程式裡的運算,像是迴圈運算或是使用者介面 UI 的操作等。

 

有了這套檢測工具就可得知 App 電力耗損情況,我們就能進而改善效,如 App 進入背景時,不需再使用定位模組時則可將它關閉、下載資料可以分批載入、或是當有需要資料才開始下載、快取 (Caching)、壓縮檔案 (Compression)、調整媒體品質 (Media Quality) 等方式降低電力的消耗。

 

參考文章:

1. Debugging Energy Issues – WWDC 2015 – Videos – Apple Developer

2. Xcode Overview: Examining System Impact

3. Using Debug Gauges

 

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s