分析追蹤記錄

載入追蹤記錄後,請按一下「查看追蹤記錄」,以便將已上傳的追蹤記錄視覺化。每個追蹤記錄的分頁會顯示在視窗頂端面板上。如果上傳的檔案包含相關追蹤記錄,系統會在畫面上疊加螢幕錄製追蹤記錄或螢幕截圖的浮動檢視畫面:

在 Winscope 上查看追蹤記錄

圖 1. 在 Winscope 中查看追蹤記錄。

以下各節將說明「View traces」畫面上的 UI 元素。

矩形

適用於 Winscope 檢視畫面 (例如 WindowManager、SurfaceFlinger 和 ViewCapture) 的「LAYERS」面板包含追蹤記錄中的矩形元素,可視覺化呈現這些元素在 z 軸上的順序和位置。

您可以透過「LAYERS」面板上的導覽控制項,修改矩形圖層的繪製模式,以及圖層的間距和旋轉角度:

矩形控制項

圖 2. 矩形控制項。

漸層格式

如要更有效地檢查階層中的所有元素,您可以使用「矩形格式」按鈕,將矩形繪圖格式切換為「漸層」。在漸層格式中,矩形格式按鈕會變成淺灰色。

在這個模式中,每個矩形的透明度會根據其 Z 排序降低,較高 Z 排序的矩形會更為半透明。這樣一來,您就能查看階層中的所有元素,而不必擔心矩形會互相遮蔽:

矩形漸層

圖 3. 矩形漸層。

不透明度格式

如要將矩形繪圖格式變更為「不透明度」,請按一下「矩形格式」按鈕。在「透明度」格式中,「矩形格式」按鈕會變成深灰色。

在這個模式中,每個矩形都會根據其不透明度繪製,例如介面或檢視畫面不透明度:

矩形不透明度

圖 4. 矩形不透明度。

線框稿格式

如要將矩形表示法變更為線框,請按一下「矩形格式」按鈕。這種表示法可讓您更輕鬆地檢查及分析階層中的個別元素。在線框_格式中,矩形格式按鈕會變成沒有陰影的輪廓:

矩形線框

圖 5. 矩形線框。

旋轉

使用旋轉滑桿將矩形的角度變更為 0 到 45 度,以便找出元素離開螢幕的情況:

矩形旋轉

圖 6. 矩形旋轉。

間距

使用間距滑桿控制圖層間的間距,建立扁平或更散開的檢視畫面,以便更有效地檢查元素 z 排序:

矩形方向

圖 7. 矩形朝向。

顯示和視窗選取

在 SurfaceFlinger 檢視畫面中,如果是在有多個螢幕的裝置上記錄資料,系統會顯示可用螢幕的選單,讓您只選取所需的螢幕。

在 ViewCapture 中,如果要錄製多個系統視窗 (例如通知遮罩、工作列和啟動器),選單會列出可用的視窗。

平移和縮放

您可以點選矩形區域並拖曳滑鼠,調整矩形的水平或垂直位置。如要放大、縮小或重設縮放等級,可以使用控制列上的捲動輪或縮放按鈕。

階層

Winscope 觀眾通常會納入階層檢視器。圖 1 中的檢視器會根據要分析的追蹤記錄,顯示各種階層。舉例來說,檢視器可以顯示 WindowManager 中的視窗階層,或系統 UI 視窗中的檢視區塊階層。

如要瞭解特定階層類型,請參閱各個追蹤記錄的相關章節。

本節將說明一般階層用法,例如 Show diffShow only VFlatSearch 功能。

階層控制項

圖 8. 階層控制項。

顯示差異

啟用「Show diff」功能後,Winscope 會自動監控並顯示目前狀態與先前狀態之間的變更。「Show diff」功能會以 紅色標示已移除的元素、以 藍色標示已修改的元素,以及以 綠色標示已建立的新元素。這種視覺化呈現方式可讓您更快辨識並瞭解兩種狀態之間的差異,方便追蹤變更並找出潛在問題。

顯示差異階層

圖 9.顯示差異階層。

搜尋並篩選

階層檢視器提供使用規則運算式的搜尋功能。這個篩選器會針對元素的名稱和值 (屬性) 進行篩選。當篩選器與階層中的子項相符時,整個父項鏈結 (直到樹狀結構的根節點) 都會顯示,如下圖所示:

搜尋階層

圖 10. 搜尋階層。

僅顯示可見的

您可以使用「僅顯示可見項目」功能,篩除階層中的所有隱藏元素。根據預設,Winscope 會同時顯示可見和不可見的元素。可見元素會以黑色繪製,而不可見元素則會以灰色顯示。

平直

「Flat」按鈕會移除元素間的父項/子項關係,重新整理階層結構。這項動作會在相同層級上算繪所有元素。搭配使用「僅顯示可見項目」選項時,產生的階層只會顯示可見元素,不含其父項元素,如以下圖所示:

平面階層

圖 11. 平面階層。

屬性

在 Winscope 中,許多觀眾會整合資源檢視器。這個檢視器會顯示與從階層檢視畫面選取的元素相關聯的各種屬性清單。舉例來說,檢視器可以顯示 WindowManager 中的活動屬性,或系統 UI 中的檢視畫面屬性。

如要瞭解特定資源,請參閱 SurfaceFlingerWindowManagerView Capture 追蹤記錄的相關章節。

本節說明「顯示差異」、「搜尋」和「顯示預設值」功能的一般階層。

顯示差異

顯示差異功能的用法與在階層檢視畫面中顯示差異相同。

搜尋並篩選

搜尋功能的使用方式與階層檢視畫面中的搜尋功能相同。

顯示預設值

根據預設,Winscope 只會顯示已修改的屬性值,也就是各自資料類型的非預設值。舉例來說,Winscope 會略過布林值的 false、整數的 0、物件的 null,以及陣列的 []。這項簡化功能可簡化使用者可見的資源清單。不過,在某些情況下,您可能需要全面掌握所有元素相關資訊。在這種情況下,「顯示預設值」選項會在 Winscope 中顯示所有可用的屬性,包括空白或空值的屬性。

屬性預設值

圖 12. 屬性預設值。

一般快速鍵

Winscope 支援下列快速鍵:

捷徑

圖 13. 一般快速鍵。