使用背景工作檢查器對 WorkManager worker 進行偵錯

使用 WorkManager 程式庫 2.5.0 以上版本時,您可以透過背景工作檢查器,以視覺化方式呈現、監控應用程式的背景 worker,並進行相關偵錯作業。

開始使用

如要在背景工作檢查器中列出 worker,請執行下列操作:

  1. 在搭載 API 級別 26 以上版本的模擬器或已連結裝置上執行應用程式

  2. 在選單列中依序選取「View」>「Tool Windows」>「App Inspection」

  3. 選取「Background Task Inspector」分頁標籤。

  4. 從選單中選取正在執行的應用程式程序。

  5. 「Background Task Inspector」窗格會顯示目前執行中應用程式的 worker。請點選要進一步檢查的 worker。

瀏覽及檢查 worker

在搭載 API 級別 26 以上版本的裝置上,使用 WorkManager 2.5.0 以上版本部署應用程式時,「Background Task Inspector」分頁會顯示運作中的 worker。如下方圖 3 所示,無論工作為執行中、失敗或已完成,背景工作檢查器都會列出所有工作的類別名稱、目前狀態、開始時間和重試次數。

工作詳細資料

按一下清單內的工作,即可開啟「Work Details」面板,當中會顯示 worker 詳細資訊,如圖 1 所示。

所選 worker 詳細資料的螢幕截圖。
圖 1:「Work Details」面板。
  • Description:這個部分會列出內含完整套件的 worker 類別名稱,以及該 worker 獲得的標記和 UUID。
  • Execution:這個部分會顯示 worker 的限制 (如果有)、執行頻率、狀態,以及建立這個 worker 並排入佇列的類別。
  • WorkContinuation:這個部分會顯示 worker 在工作鏈結中的位置。按一下工作鏈結中其他 worker 的 UUID,即可查看相關詳細資料。
  • Results:這個部分會顯示所選 worker 的開始時間、重試次數和輸出資料。

取消 worker

如要停止目前正在執行或已加入佇列的 worker,請選取該 worker,然後按一下工具列中的「Cancel Selected Worker」圖示

查看圖表檢視畫面

由於 worker 可以串連在一起,因此以圖表呈現 worker 依附關係有時會很有幫助。

如要以視覺化方式查看 worker 鏈結,請在表格中選取 worker,然後按一下工具列中的「Show Graph View」圖示 。圖表中只會顯示 worker。

圖形檢視的螢幕截圖。
圖 2:圖表檢視畫面。

透過圖表,您可以快速查看 worker 之間的關聯,並監控 worker 在複雜鏈結關聯中的進度。

如要返回清單檢視畫面,請按一下「Show List View」圖示

瀏覽及檢查工作、鬧鐘和 Wakelock

背景工作檢查器也可讓您檢查應用程式的工作、鬧鐘和 Wakelock。各類型的非同步工作會顯示在檢查器分頁的相應標題底下,方便您監控工作的狀態和進度。

與 worker 類似,您可以在「Task Details」面板中選取工作、鬧鐘或 Wakelock,查看相關詳細資料。

如要檢視 worker、工作、鬧鐘或 Wakelock 的詳細資訊,請在右側的「Task Details」面板中進行選取。

「Background Task Inspector」視窗的螢幕截圖。
圖 3:背景工作檢查器視窗。

其他資源

如要進一步瞭解背景工作檢查器,請參閱下列其他資源:

說明文件

程式碼研究室

網誌文章