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

使用 WorkManager 程式庫 2.5.0 以上版本時,您可以使用背景工作檢查器,監控和偵錯應用程式的背景 worker,並透過圖表瞭解 worker 資料。

開始操作

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

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

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

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

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

  5. 執行中應用程式的 worker 會顯示在「Background Task Inspector」窗格。按一下要進一步檢查的 worker。

瀏覽及檢查 worker

在搭載 API 級別 26 以上版本的裝置上,使用 WorkManager 2.5.0 以上版本部署應用程式時,「Background Task Inspector」分頁會顯示運作中的 worker。無論工作為執行中、失敗或已完成,「Background Task Inspector」視窗都會列出所有工作的類別名稱、目前狀態、開始時間和重試次數,如下一節圖 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」面板中選取所需項目。

背景工作檢查器視窗的螢幕截圖。
圖 3. 背景工作檢查器視窗。

其他資源

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

說明文件

程式碼研究室

網誌文章