藉由能源分析器,您可以找出應用程式使用較多電力的地方。
能源分析器會監控 CPU、網路無線電和 GPS 感應器的使用情形,並概略顯示各該元件的能源用量。能源分析器還會顯示會影響系統耗電量的系統事件 (Wake Lock、鬧鐘、工作和位置要求)。
能源分析器不會直接測量能源消耗量。而是使用模型估算裝置上每個資源的耗電量。
能源分析器總覽
當您在已連結的裝置或搭載 Android 8.0 (API 26) 或以上版本的 Android Emulator 上執行應用程式時,能源分析器會在「Profiler」視窗中顯示為一列。
如要開啟能源分析器,請按照下列步驟操作:
依序選取「View」>「Tool Windows」>「Profiler」,或按一下工具列中的「Profile」
。
如果畫面上顯示「Select Deployment Target」對話方塊,請選擇要部署應用程式的裝置,以便進行剖析。如果您已透過 USB 連結裝置,但清單中未列出該裝置,請確認您已啟用 USB 偵錯。
在「Energy」時間軸中點選任一位置,開啟能源分析器。
開啟能源分析器後,系統會立即開始顯示應用程式的預估能源用量。畫面應該會與圖 1 類似。
圖 1. 能源分析器中的時間軸。
如圖 1 所示,能源分析器的預設檢視畫面包括以下時間軸:
- 事件時間軸:顯示應用程式中您的應用程式在生命週期中轉換不同狀態時的活動。此時間軸也指出了使用者與裝置的互動,包括螢幕旋轉事件。
- 能源時間軸:顯示應用程式的預估能源用量。
- 系統時間軸:指出可能影響能源消耗的系統事件。
如要按 CPU、網路和位置 (GPS) 資源及相關的系統事件查看能源用量細目,請將滑鼠游標指向「Energy」時間軸上的長條。
檢查系統事件:Wake Lock、工作和鬧鐘
您可以使用能源分析器找出可能影響能源消耗的系統事件,包括 Wake Lock、工作和鬧鐘:
Wake Lock 是一種在裝置進入睡眠狀態時保持 CPU 或螢幕開啟的機制。舉例來說,播放影片的應用程式可能會使用 Wake Lock,讓裝置在使用者與裝置之間沒有任何互動時保持開啟。要求 Wake Lock 並不會耗用大量能源,但如未解除 Wake Lock,可能會造成螢幕或 CPU 保持開啟狀態超過所需時間,並因此迅速消耗電池。詳情請參閱「使用 Wake Lock 功能」的指南。
您可以使用鬧鐘,在應用程式結構定義以外執行背景工作。鬧鐘響起時,可能會喚醒裝置並執行耗用大量能源的程式碼。詳情請參閱「使用鬧鐘」指南。
您可以使用「工作」,在特定條件 (例如網路可用) 下執行動作。您可以使用
JobBuilder
建立工作,並使用JobScheduler
安排工作時間。在許多情況下,我們會建議您使用JobScheduler
工作,而非使用鬧鐘或 Wake Lock。位置資訊要求使用 GPS 感應器,因此會耗用大量能源。如要瞭解如何發出節能位置要求,請參閱「最佳化電池位置」。
藉由能源分析器,您可以輕鬆找到應用程式使用各項功能的位置,藉此決定應用程式的使用方式。
能源分析器會於系統事件生效期間,在「Energy」時間軸下的「System」時間軸下方顯示彩色長條。Wake Lock 會以紅色長條表示,工作和鬧鐘會以黃色長條表示,而位置事件則以淺紫色長條顯示。
圖 2 顯示能源分析器和程式碼編輯器開啟,其原始碼為未發布的 Wake Lock 負責。
圖 2. 使用能源分析器找出 Wake Lock。
- 如要開啟「System Event」窗格並顯示事件 (例如 Wake Lock) 的詳細資料,請在「Energy」時間軸中選取時間範圍。
- 如要開啟「Wake Lock Details」窗格,並顯示特定 Wake Lock 的詳細資料,請在「System Event」窗格中選取 Wake Lock。
- 如要開啟程式碼編輯器並跳至 Wake Lock 的原始碼,請在呼叫堆疊頂端的「Wake Lock Details」部分按兩下撥號方式窗格。
- 來源編輯器會醒目顯示取得 Wake Lock 的呼叫。
顯示其他系統事件的操作說明,與 Wake Lock 相同,在其詳細資料窗格中包含特定於每種事件的資訊。舉例來說,「Job Details」窗格會根據過去工作和工作完成的程式碼部分顯示呼叫堆疊。