分析追蹤記錄

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

在 Winscope 上查看追蹤記錄

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

以下各節說明「查看追蹤記錄」畫面上的 UI 元素。

矩形

Winscope 檢視區塊 (例如 WindowManager、SurfaceFlinger 和 ViewCapture) 的「LAYERS」面板包含追蹤記錄中的矩形元素,這些元素會以視覺化方式呈現元素在 Z 軸上的位置和順序。

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

矩形控制項

圖 2. 矩形控制項。

漸層格式

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

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

矩形漸層

圖 3. 矩形漸層。

不透明度格式

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

在這個模式中,系統會根據每個矩形的不透明度繪製矩形,例如表面或檢視區塊的不透明度:

矩形不透明度

圖 4. 矩形不透明度。

線框稿格式

如要將矩形表示法變更為線框,請按一下「rect format」按鈕。這個表示法可簡化階層中個別元素的檢查和分析作業。在 線框格式中,「rect 格式」按鈕會變成沒有陰影的輪廓:

矩形線框

圖 5. 矩形線框。

旋轉

使用旋轉滑桿,將矩形的透視角度變更為 0 到 45 度,找出元素超出螢幕範圍的情況:

矩形旋轉

圖 6. 矩形旋轉。

間距

使用間距滑桿控制圖層間距,建立平坦或更分散的檢視畫面,以便檢查元素的 Z 順序:

矩形正面

圖 7. 矩形正面。

顯示器和視窗選取

在 SurfaceFlinger 檢視畫面中,如果要在有多個螢幕的裝置上記錄資料,系統會顯示可用螢幕的選單,方便您只選取感興趣的螢幕。

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

平移和縮放

按一下矩形區域並拖曳滑鼠,即可水平或垂直調整矩形位置。如要放大、縮小或重設縮放比例,可以使用滾輪或控制列上的縮放按鈕。

階層

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

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

本節說明一般階層用法,例如「顯示差異」、「只顯示 V」、「平面」 和「搜尋」功能。

階層控制項

圖 8. 階層控制項。

顯示差異

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

顯示差異階層

圖 9.顯示差異階層。

搜尋並篩選

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

搜尋階層

圖 10. 搜尋階層。

僅顯示可見的項目

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

平直

「平面」按鈕會消除元素之間的父項/子項關係,重新整理階層式結構。這項動作會顯示同一層級的所有元素。如果搭配「只顯示可見項目」選項,產生的階層只會顯示可見元素,排除父項元素,如下圖所示:

扁平式階層

圖 11. 平面式階層。

屬性

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

如要瞭解特定屬性,請參閱「SurfaceFlinger」、「WindowManager」和「View Capture」追蹤記錄相關章節。

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

顯示差異

「顯示差異比較」功能的使用方式與「在階層檢視畫面中顯示差異比較」相同。

搜尋並篩選

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

顯示預設值

根據預設,Winscope 只會顯示已修改的屬性值,也就是各資料類型的非預設值。舉例來說,Winscope 會省略布林值的 false、整數的 0、物件的 null,以及陣列的 []。這項簡化作業可讓使用者更容易查看屬性清單。 不過,在某些情況下,全面瞭解所有元素相關資訊會很有幫助。在這種情況下,「顯示預設值」選項會顯示 Winscope 中所有可用的屬性,包括值為空值或 Null 的屬性。

屬性預設值

圖 12. 屬性預設值。

一般快速鍵

Winscope 支援下列快速鍵:

捷徑

圖 13. 一般快速鍵。