Как анализировать трассировки

После того как вы загрузите трассировки, нажмите Посмотреть трассировки, чтобы визуализировать их. В верхней части окна появятся вкладки для каждой трассировки. Если загруженный файл содержит соответствующие трассировки, Winscope накладывает на экран плавающее окно с записью видео с экрана или скриншотом:

Как посмотреть трассировки в Winscope

Рисунок 1. Просматривать трассировки в Winscope.

В следующих разделах описываются элементы пользовательского интерфейса на экране Просмотр трассировок.

3D-просмотр

На панели 3D View для представлений Winscope, таких как WindowManager, SurfaceFlinger и ViewCapture, отображаются прямоугольные элементы из трассировки, визуально представляющие их положение и порядок по оси Z.

Используйте элементы управления на панели, чтобы изменить режим рисования для прямоугольных слоев, а также их интервал и поворот:

Элементы управления 3D-просмотром

Рисунок 2. Элементы управления 3D-режимом.

Формат градиента

Чтобы эффективнее проверять все элементы в иерархии, нажмите кнопку rect format и выберите формат Градиент. В формате градиента кнопка прямоугольника становится светло-серой.

В этом режиме Winscope уменьшает непрозрачность каждого прямоугольника в зависимости от его Z-индекса. Прямоугольники с более высоким Z-индексом более прозрачны. Это позволяет видеть все элементы в иерархии, не беспокоясь о том, что прямоугольники будут перекрывать друг друга:

Градиент прямоугольника

Рисунок 3. Градиент прямоугольника.

Формат прозрачности

Чтобы изменить формат рисования прямоугольника на непрозрачность, нажмите кнопку rect format. В формате opacity кнопка rect format становится темно-серой.

В этом режиме Winscope рисует каждый прямоугольник на основе его непрозрачности, например непрозрачности поверхности или представления:

Непрозрачность прямоугольника

Рисунок 4. Непрозрачность прямоугольника.

Формат вайрфрейма

Чтобы изменить представление прямоугольника на каркас, нажмите кнопку Формат прямоугольника. Такое представление упрощает изучение и анализ отдельных элементов иерархии. В каркасном формате кнопка Формат прямоугольника превращается в контур без заливки:

Вайрфрейм прямоугольника

Рисунок 5. Вайрфрейм прямоугольника.

Вращение

Используйте ползунок поворота, чтобы изменить перспективу прямоугольников на угол от 0 до 45 градусов и выявить случаи, когда элементы выходят за пределы экрана:

Поворот прямоугольника

Рисунок 6. Поворот прямоугольника.

Расположение

Используйте ползунок интервала, чтобы управлять расстоянием между слоями, создавая плоский или более развернутый вид для лучшего просмотра элементов по оси Z:

Интервал между прямоугольниками

Рисунок 7. Интервал между прямоугольниками.

Выбор экрана и окна

В представлениях SurfaceFlinger и WindowManager при записи данных на устройствах с несколькими дисплеями в меню показываются доступные дисплеи, и вы можете выбрать только те, которые вас интересуют.

В ViewCapture при записи нескольких системных окон, таких как панель уведомлений, панель задач и панель запуска, в меню перечислены доступные окна.

Панорамирование и масштабирование

Вы можете перемещать прямоугольники по горизонтали или вертикали, нажав на них и перетащив мышью. Для увеличения, уменьшения или сброса уровня масштабирования используйте колесо прокрутки или кнопки масштабирования на панели управления.

Иерархия

В средствах просмотра Winscope часто есть средство просмотра иерархии. На рисунке 1 показаны различные иерархии, которые зависят от анализируемой трассировки. Например, в нем можно посмотреть иерархию окон в WindowManager или иерархию View в окне интерфейса системы.

Информацию о конкретных типах иерархии можно найти в разделах, посвященных соответствующим трассировкам.

В этом разделе описано, как использовать иерархию, например с помощью функций Показать различия, Показать только видимые, Плоская и Поиск.

Управление иерархией

Рисунок 8. Элементы управления иерархией.

Показать различия

Если включить функцию Показать различия, Winscope будет автоматически отслеживать и показывать изменения между текущим и предыдущим состояниями. Функция Показать различия выделяет удаленные элементы красным, измененные – синим, а новые – зеленым. Это позволяет быстро находить и понимать различия между двумя состояниями, отслеживать изменения и выявлять потенциальные проблемы.

Показать иерархию различий

Рисунок 9. Показать иерархию различий.

Поиск и фильтрация

В иерархическом представлении есть функция Поиск, которая использует регулярные выражения. Этот фильтр применяется как к названию элемента, так и к его значению (для свойств). Если фильтр соответствует дочернему элементу в иерархии, вся цепочка родительских элементов до корня дерева становится видимой, как показано на рисунке ниже.

Иерархия поиска

Рисунок 10. Иерархия поиска.

Показывать только видимые

Используйте функцию Показать только видимые, чтобы отфильтровать все скрытые элементы в иерархии. По умолчанию Winscope показывает как видимые, так и невидимые элементы. Winscope отображает видимые элементы черным, а невидимые – серым.

Фиксированный

Кнопка Плоская структура позволяет реорганизовать иерархическую структуру, удалив родительско-дочерние связи между элементами. В результате все элементы будут отображаться на одном уровне. Если объединить этот параметр с параметром Показывать только видимые, в иерархии будут показаны только видимые элементы без родительских элементов, как показано на рисунке ниже.

Одноуровневая иерархия

Рисунок 11. Одноуровневая иерархия.

Свойства

В Winscope многие средства просмотра интегрируют средство просмотра свойств. В этом окне представлены различные списки свойств, связанных с элементом, выбранным в иерархическом представлении. Например, в средстве просмотра можно увидеть свойства действия в WindowManager или свойства представления в интерфейсе системы.

Информацию о конкретных свойствах можно найти в разделах, посвященных трассировкам SurfaceFlinger, WindowManager и View Capture.

В этом разделе описывается общая иерархия функций Показать различия, Поиск и Показать значения по умолчанию.

Показать различия

Функция Показать различия используется так же, как и Показать различия в иерархическом представлении.

Поиск и фильтрация

Функция Поиск работает так же, как Поиск в иерархическом представлении.

Показать настройки по умолчанию

По умолчанию Winscope показывает только измененные значения свойств, которые не являются значениями по умолчанию для соответствующих типов данных. Например, Winscope пропускает false для логических значений, 0 для целых чисел, null для объектов и [] для массивов. Это упрощает список свойств, видимых пользователю. Однако в некоторых ситуациях полезно иметь полное представление обо всех данных, связанных с элементом. В таких случаях параметр Показать значения по умолчанию позволяет увидеть все доступные свойства в Winscope, в том числе с пустыми или нулевыми значениями.

Настройки по умолчанию для свойств

Рисунок 12. Значения свойств по умолчанию.

Общие комбинации клавиш

Winscope поддерживает следующие сочетания клавиш:

ярлыки

Рисунок 13. Общие сочетания клавиш.