Android Studio 3.3 (январь 2019 г.)

Android Studio 3.3 — это крупный релиз, включающий множество новых функций и улучшений.

3.3.2 (март 2019 г.)

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

3.3.1 (февраль 2019 г.)

Это небольшое обновление включает в себя исправление различных ошибок и улучшения производительности.

IntelliJ IDEA 2018.2.2

Основная среда разработки Android Studio IDE обновлена с учетом улучшений IntelliJ IDEA в версии 2018.2.2 .

Обновления плагина Android Gradle

Информацию о новых возможностях плагина Android Gradle см. в примечаниях к выпуску .

Редактор навигации позволяет быстро визуализировать и встраивать навигацию в ваше приложение с помощью компонента архитектуры навигации .

Для получения дополнительной информации см. раздел Реализация навигации с помощью компонента архитектуры навигации .

Удалить неиспользуемые каталоги Android Studio

При первом запуске основной версии Android Studio программа ищет каталоги, содержащие кэши, настройки, индексы и журналы для версий Android Studio, для которых не удалось найти соответствующую установку. В диалоговом окне « Удаление неиспользуемых каталогов Android Studio» отображаются местоположения, размеры и время последнего изменения этих неиспользуемых каталогов, а также предлагается возможность их удаления.

Ниже перечислены каталоги, которые Android Studio считает подлежащими удалению:

  • Linux: ~/.AndroidStudio[Preview] XY
  • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview] XY
  • Windows: %USER%.AndroidStudio[Preview] XY

Улучшения линта

При вызове Lint из Gradle он работает значительно быстрее: в крупных проектах можно ожидать, что lint будет работать до четырех раз быстрее.

Мастер создания нового проекта

Мастер создания нового проекта имеет новый внешний вид и содержит обновления, которые помогают упростить создание новых проектов Android Studio.

Более подробную информацию смотрите в разделе Создание проекта .

Обновления профилировщика

Android Studio 3.3 включает обновления нескольких отдельных профилировщиков.

Улучшенная производительность

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

Параметры отслеживания распределения памяти профилировщика

Для повышения производительности приложения при профилировании профилировщик памяти теперь по умолчанию периодически проверяет распределение памяти. При желании вы можете изменить это поведение, используя раскрывающийся список «Отслеживание распределения» при тестировании на устройствах под управлением Android 8.0 (уровень API 26) и выше.

Используя раскрывающийся список «Отслеживание распределения» , вы можете выбрать один из следующих режимов:

  • Полный: захватывает все выделения памяти для объектов. Обратите внимание: если ваше приложение выделяет много объектов, при профилировании могут возникнуть серьёзные проблемы с производительностью.

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

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

    Отслеживание затрагивает как объекты Java, так и ссылки JNI.

Проверка данных рендеринга кадров

В CPU Profiler теперь можно посмотреть, сколько времени требуется вашему Java-приложению для отрисовки каждого кадра в основном потоке пользовательского интерфейса и потоке RenderThread. Эти данные могут быть полезны при поиске узких мест, вызывающих подтормаживание пользовательского интерфейса и низкую частоту кадров. Например, каждый кадр, отрисовка которого занимает больше 16 мс, необходимых для поддержания плавной частоты кадров, отображается красным цветом.

Чтобы просмотреть данные рендеринга кадров, запишите трассировку, используя конфигурацию, позволяющую отслеживать системные вызовы . После записи трассировки найдите информацию о каждом кадре на временной шкале записи в разделе « КАДРЫ» , как показано ниже.

Дополнительную информацию об исследовании и устранении проблем с частотой кадров см. в статье Медленный рендеринг .

Фрагменты хронологии событий

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

Просмотр форматированного текста для полезных данных соединения в сетевом профилировщике

Раньше сетевой профилировщик отображал только необработанный текст из полезных данных подключения. Android Studio 3.3 теперь по умолчанию форматирует некоторые типы текста, включая JSON, XML и HTML. На вкладках «Ответ» и «Запрос» нажмите ссылку «Просмотреть проанализированный» , чтобы отобразить форматированный текст, и ссылку « Просмотреть исходный код» , чтобы отобразить необработанный текст.

Для получения дополнительной информации см. раздел Проверка сетевого трафика с помощью Network Profiler .

Автоматическая загрузка компонентов SDK

Если вашему проекту требуется компонент SDK из платформ SDK, NDK или CMake, Gradle теперь пытается автоматически загрузить требуемые пакеты, если вы ранее приняли все соответствующие лицензионные соглашения с помощью SDK Manager.

Дополнительную информацию см. в разделе Автоматическая загрузка отсутствующих пакетов с помощью Gradle .

Поддержка Clang-Tidy

Android Studio теперь поддерживает статический анализ кода с помощью Clang-Tidy для проектов, содержащих нативный код. Чтобы включить поддержку Clang-Tidy, обновите NDK до версии r18 или выше.

Затем вы можете включить или повторно включить проверки, открыв диалоговое окно «Настройки» или «Предпочтения» и выбрав «Редактор» > «Инспекции» > «C/C++» > «Общие» > «Clang-Tidy» . При выборе этой проверки в диалоговом окне «Настройки» или «Предпочтения» вы также увидите список включённых и отключенных проверок Clang-Tidy в разделе «Параметры» на крайней правой панели. Чтобы включить дополнительные проверки , добавьте их в список и нажмите «Применить» .

Чтобы настроить Clang-Tidy с помощью дополнительных параметров , нажмите «Настроить параметры проверки Clang-Tidy» и добавьте их в открывшемся диалоговом окне.

Удаление возможностей настройки C++

Из диалогового окна «Настройка поддержки C++» были удалены следующие параметры:

  • Поддержка исключений (-fexceptions)
  • Поддержка информации о типе выполнения (-ftti)

Соответствующие поведения включены для всех проектов, созданных с помощью Android Studio.

CMake версии 3.10.2

CMake версии 3.10.2 теперь включён в SDK Manager. Обратите внимание, что Gradle по-прежнему использует версию 3.6.0 по умолчанию.

Чтобы указать версию CMake для использования Gradle, добавьте следующее в файл build.gradle вашего модуля:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

Дополнительные сведения о настройке CMake в build.gradle см. в разделе Ручная настройка Gradle .

Новый синтаксис «+» для указания минимальных версий CMake

При указании версии CMake в файле build.gradle вашего основного модуля теперь можно добавить «+», чтобы соответствовать поведению команды cmake_minimum_required() .

Внимание: не рекомендуется использовать синтаксис «+» с другими зависимостями сборки , поскольку динамические зависимости могут привести к неожиданным обновлениям версий и затруднить разрешение различий версий.

Пакеты приложений Android теперь поддерживают мгновенные приложения

Android Studio теперь позволяет создавать наборы приложений Android App Bundle с полной поддержкой Google Play Instant . Другими словами, теперь вы можете создавать и развертывать как установленные приложения, так и мгновенные версии из одного проекта Android Studio и включать их в один набор приложений Android App Bundle.

Если вы создаёте новый проект Android Studio с помощью диалогового окна «Создать новый проект» , убедитесь, что установлен флажок «Настроить проект» > «Этот проект будет поддерживать мгновенные приложения» . Затем Android Studio создаёт новый проект приложения как обычно, но включает в манифест следующие свойства, чтобы добавить поддержку мгновенных приложений в базовый модуль вашего приложения:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

Затем вы можете создать модуль функции с мгновенным запуском, выбрав «Файл» > «Создать» > «Новый модуль» в строке меню, а затем «Модуль динамических функций» в диалоговом окне «Создать новый модуль» . Имейте в виду, что создание этого модуля также мгновенно активирует базовый модуль вашего приложения.

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

Синхронизация одновариантного проекта

Синхронизация проекта с конфигурацией сборки — важный шаг, позволяющий Android Studio понять структуру вашего проекта. Однако для крупных проектов этот процесс может занять много времени. Если в вашем проекте используется несколько вариантов сборки, теперь вы можете оптимизировать синхронизацию проекта, ограничив её только выбранным в данный момент вариантом.

Для включения этой оптимизации необходимо использовать Android Studio 3.3 или более позднюю версию с плагином Android Gradle 3.3.0 или более позднюю версию. При соблюдении этих требований IDE предложит включить эту оптимизацию при синхронизации проекта. Оптимизация также включена по умолчанию в новых проектах.

Чтобы включить эту оптимизацию вручную, выберите Файл > Настройки > Экспериментальный > Gradle ( Android Studio > Настройки > Экспериментальный > Gradle на Mac) и установите флажок Синхронизировать только активный вариант .

Примечание: эта оптимизация в настоящее время поддерживает проекты, включающие только язык программирования Java. Например, если IDE обнаруживает код Kotlin или C++ в вашем проекте, она не включает эту оптимизацию автоматически, и вам не следует включать её вручную.

Дополнительные сведения см. в разделе Включение синхронизации одновариантных проектов .

Обеспечить быструю обратную связь

Если вы решили поделиться статистикой использования, чтобы помочь улучшить Android Studio, вы увидите эти два новых значка в строке состояния в нижней части окна IDE:

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

Если вы еще этого не сделали, вы можете включить отправку статистики использования, открыв диалоговое окно настроек (Настройки на Mac), перейдя в раздел Внешний вид и поведение > Системные настройки > Общий доступ к данным и установив флажок Отправлять статистику использования в Google .