Устранение неполадок производительности сборки с помощью Build Analyzer (original) (raw)

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

Дополнительные стратегии по повышению производительности сборки см. в разделе Оптимизация скорости сборки .

Начать

Каждый раз, когда вы создаете приложение, анализатор сборки создает отчет и отображает данные из последнего отчета в окне сборки .

Для начала действуйте следующим образом:

  1. Если вы еще этого не сделали, создайте свое приложение одним из следующих способов:
    • Нажмите «Создать» > «Создать проект» в строке меню.
    • Чтобы создать пакет Android App Bundle или APK, в меню выберите «Сборка» > «Сборка пакетов» / «APK» > «Сборка пакетов» или «Сборка» > «Сборка пакетов» / APK(s) > «Создать APK». бар.
  2. Чтобы открыть окно «Сборка» , выберите «Просмотр» > «Окна инструментов» > «Создать» в строке меню.
  3. Чтобы просмотреть отчет о сборке в анализаторе сборки , щелкните вкладку «Анализатор сборки» в окне «Сборка» .

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

Просмотр плагинов с задачами, определяющими продолжительность сборки

Когда вы впервые открываете анализатор сборки после завершения сборки, в окне отображается обзор анализа сборки, как показано на рисунке 1.

Рис. 1. Обзорная страница Build Analyzer дает сводку результатов.

Чтобы просмотреть разбивку плагинов с задачами, определяющими продолжительность сборки, нажмите «Плагины с задачами, влияющими на продолжительность сборки» на странице обзора. Вы также можете выбрать «Задачи» из раскрывающегося списка и подтвердить группировку по плагину. На графике плагины и связанные с ними задачи упорядочены по общему времени, затраченному на их выполнение.

Рисунок 2. Анализатор сборки предоставляет разбивку плагинов, влияющих на продолжительность сборки.

Просмотр задач, определяющих продолжительность сборки

Чтобы просмотреть разбивку задач, влияющих на продолжительность сборки, нажмите «Задачи, влияющие на продолжительность сборки» на странице обзора или выберите «Задачи» в раскрывающемся списке. Если в вашем проекте используется AGP 8.0 или выше, задачи по умолчанию сгруппированы по категориям, поэтому легче определить области, влияющие на продолжительность сборки. Нажмите на каждую дочернюю задачу, чтобы узнать больше о ее выполнении.

Рисунок 3. Анализатор сборки предоставляет разбивку задач, наиболее ответственных за продолжительность сборки.

Проверка предупреждений

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

В некоторых предупреждениях есть ссылка «Создать отчет» , как показано на рис. 4. При нажатии ссылки «Создать отчет» появляется диалоговое окно с дополнительной информацией, которая может помочь разработчику плагина решить проблему в новой версии плагина. Нажмите «Копировать» , чтобы сохранить текст в буфер обмена, чтобы вам было легче вставить информацию в отчет об ошибке разработчику плагина.

Рисунок 4. Подробная информация о предупреждениях Build Analyser.

Типы предупреждений

Анализатор сборки сообщает о следующих типах предупреждений:

Проверьте влияние загрузки

Build Analyzer предоставляет сводную информацию о времени, затраченном на загрузку зависимостей, и подробное представление загрузок по репозиторию. Чтобы проверить влияние загрузок, выберите «Загрузки» в раскрывающемся списке. Эта информация также доступна в окне синхронизации .

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

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

Рисунок 5. Анализатор сборки показывает влияние загрузок на продолжительность сборки.

[Только для Windows] Проверка влияния антивирусного программного обеспечения

Анализатор сборки сообщает вам, может ли антивирусное программное обеспечение влиять на производительность сборки. Это может произойти, если антивирусное программное обеспечение, такое как Защитник Windows, выполняет сканирование каталогов, используемых Gradle, в режиме реального времени. Анализатор сборки рекомендует список каталогов, которые следует исключить из активного сканирования, и, если возможно, предлагает ссылку для добавления их в список исключений папок Защитника Windows.