트레이스 분석

트레이스를 로드한 후 트레이스 보기를 클릭하여 업로드된 트레이스를 시각화합니다. 각 트레이스의 탭이 창의 상단 패널에 표시됩니다. 업로드된 파일에 관련 트레이스가 포함된 경우 화면 녹화 트레이스 또는 스크린샷의 플로팅 뷰가 화면에 오버레이됩니다.

Winscope에서 트레이스 보기

그림 1. Winscope에서 트레이스 보기

다음 섹션에서는 트레이스 보기 화면의 UI 요소를 설명합니다.

사각형

WindowManager, SurfaceFlinger, ViewCapture와 같은 Winscope 뷰의 레이어 패널에는 z축에서의 위치와 순서를 시각적으로 나타내는 트레이스의 직사각형 요소가 포함됩니다.

레이어 패널의 탐색 컨트롤을 통해 직사각형 레이어가 그려지는 모드와 간격, 회전을 수정할 수 있습니다.

사각형 컨트롤

그림 2. 사각형 컨트롤

그라데이션 형식

계층 구조의 모든 요소를 더 효과적으로 검사하려면 rect 형식 버튼을 사용하여 직사각형 그리기 형식을 그라데이션으로 전환하면 됩니다. 그라데이션 형식에서 rect 형식 버튼이 밝은 회색으로 바뀝니다.

이 모드에서는 각 사각형의 불투명도가 z-순서에 따라 감소하며, z-순서가 높은 사각형이 더 반투명합니다. 이렇게 하면 사각형이 서로 가리는 것을 걱정하지 않고 계층 구조의 모든 요소를 볼 수 있습니다.

직사각형 그래디언트

그림 3. 직사각형 그라데이션

불투명도 형식

직사각형 그리기 형식을 불투명도로 변경하려면 rect format 버튼을 클릭합니다. 불투명도 형식에서 rect 형식 버튼이 짙은 회색으로 바뀝니다.

이 모드에서는 각 사각형이 노출 영역이나 뷰 불투명도와 같은 불투명도를 기반으로 그려집니다.

직사각형 불투명도

그림 4. 직사각형 불투명도입니다.

와이어프레임 형식

사각형 표현을 와이어프레임으로 변경하려면 rect format 버튼을 클릭합니다. 이 표현을 사용하면 계층 구조 내의 개별 요소를 더 간단하게 검사하고 분석할 수 있습니다. 와이어프레임_ 형식에서 rect 형식 버튼은 음영이 없는 윤곽선으로 바뀝니다.

직사각형 와이어프레임

그림 5. 직사각형 와이어프레임

회전

회전 슬라이더를 사용하여 직사각형의 원근법을 0~45도 사이로 변경하면 요소가 화면에서 벗어나는 시나리오를 파악할 수 있습니다.

직사각형 회전

그림 6. 직사각형 회전입니다.

간격

간격 슬라이더를 사용하여 레이어 간 간격을 제어하여 요소를 더 잘 검사할 수 있도록 평면화된 뷰 또는 더 넓은 뷰를 만듭니다.

직사각형 방향

그림 7. 직사각형 방향

디스플레이 및 기간 선택

SurfaceFlinger 뷰에서 디스플레이가 여러 개인 기기에서 데이터를 기록할 때 관심 있는 디스플레이만 선택할 수 있도록 사용 가능한 디스플레이가 메뉴에 표시됩니다.

ViewCapture에서 알림 창, 작업 표시줄, 런처와 같은 여러 시스템 창을 녹화할 때 메뉴에 사용 가능한 창이 나열됩니다.

이동 및 확대/축소

영역을 클릭하고 마우스를 드래그하여 직사각형의 위치를 가로 또는 세로로 조정할 수 있습니다. 확대, 축소 또는 확대/축소 수준 재설정에는 스크롤 휠이나 컨트롤 바의 확대/축소 버튼을 사용할 수 있습니다.

계층 구조

Winscope 뷰어는 계층 구조 뷰어를 통합하는 경우가 많습니다. 그림 1의 뷰어는 분석 중인 트레이스를 기반으로 다양한 계층 구조를 보여줍니다. 예를 들어 뷰어는 WindowManager 내의 창 계층 구조나 시스템 UI 창 내의 뷰 계층 구조를 표시할 수 있습니다.

특정 계층 구조 유형에 관한 자세한 내용은 각 트레이스에 관한 섹션을 참고하세요.

이 섹션에서는 차이점 표시, V만 표시, 플랫, 검색 기능과 같은 일반적인 계층 구조 사용법을 설명합니다.

계층 구조 컨트롤

그림 8. 계층 구조 컨트롤

차이점 표시

차이 표시 기능이 사용 설정되면 Winscope는 현재 상태와 이전 상태 간의 변경사항을 자동으로 모니터링하고 표시합니다. 차이점 표시 기능은 삭제된 요소를 빨간색으로, 수정된 요소를 파란색으로, 새로 생성된 요소를 녹색으로 강조 표시합니다. 이 시각적 표현을 사용하면 두 상태 간의 차이를 더 빠르게 파악하고 이해할 수 있으므로 변경사항을 추적하고 잠재적인 문제를 식별하기가 더 쉬워집니다.

차이 계층 구조 표시

그림 9. 차이점 계층 구조를 표시합니다.

검색 및 필터

계층 구조 뷰어는 정규 표현식 (regex)을 사용하는 검색 기능을 제공합니다. 이 필터는 요소의 이름과 값 (속성의 경우)을 모두 타겟팅합니다. 필터가 계층 구조의 하위 요소와 일치하면 다음 그림과 같이 트리 루트까지의 전체 상위 요소 체인이 표시됩니다.

계층 구조 검색

그림 10. 계층 구조를 검색합니다.

표시되는 항목만 표시

표시된 항목만 표시 기능을 사용하면 계층 구조 내에서 숨겨진 모든 요소를 필터링할 수 있습니다. 기본적으로 Winscope는 표시되는 요소와 표시되지 않는 요소를 모두 표시합니다. 표시되는 요소는 검은색으로 그려지고 표시되지 않는 요소는 회색으로 표시됩니다.

플랫

플랫 버튼은 요소 간의 상위-하위 관계를 없애 계층 구조를 재구성합니다. 이 작업은 모든 요소를 동일한 수준으로 렌더링합니다. 표시되는 항목만 표시 옵션과 결합하면 결과 계층 구조에 상위 요소를 제외한 표시되는 요소만 표시됩니다(다음 그림 참고).

플랫 계층 구조

그림 11. 플랫 계층 구조

속성

Winscope 내에서 많은 뷰어가 속성 뷰어를 통합합니다. 이 뷰어는 계층 구조 뷰에서 선택한 요소와 연결된 다양한 속성 목록을 표시합니다. 예를 들어 뷰어는 WindowManager 내 활동의 속성이나 시스템 UI의 뷰 속성을 표시할 수 있습니다.

특정 속성에 관한 자세한 내용은 SurfaceFlinger, WindowManager, 뷰 캡처 트레이스 섹션을 참고하세요.

이 섹션에서는 차이점 표시, 검색, 기본값 표시 기능의 일반적인 계층 구조를 설명합니다.

차이점 표시

차이점 표시 기능의 사용은 계층 구조 뷰에서 차이점 표시와 동일합니다.

검색 및 필터

검색 기능의 사용은 계층 구조 보기에서 검색과 동일합니다.

기본값 표시

기본적으로 Winscope는 수정된 속성 값만 표시합니다. 이는 각 데이터 유형의 기본값이 아닌 값입니다. 예를 들어 Winscope는 불리언의 경우 false, 정수의 경우 0, 객체의 경우 null, 배열의 경우 []를 생략합니다. 이렇게 간소화하면 사용자에게 표시되는 속성 목록이 단순해집니다. 하지만 특정 상황에서는 모든 요소 관련 정보를 포괄적으로 파악하는 것이 유용합니다. 이 경우 기본값 표시 옵션을 사용하면 빈 값이나 null 값이 있는 속성을 포함하여 Winscope에서 사용 가능한 모든 속성이 표시됩니다.

속성 기본값

그림 12. 속성 기본값입니다.

일반 단축키

Winscope는 다음 단축키를 지원합니다.

바로가기

그림 13. 일반 단축키