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

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

3.3.2 (март 2019 г.)

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

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

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

IntelliJ IDEA 2018.2.2

В базовой среде разработки Android Studio были внесены улучшения, заимствованные из 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, значительно быстрее — в крупных проектах скорость проверки синтаксиса может увеличиться до четырех раз.

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

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

Для получения более подробной информации см. раздел «Создание проекта» .

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

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

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

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

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

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

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

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

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

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

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

Проверьте данные отрисовки кадра.

В профилировщике ЦП теперь можно посмотреть, сколько времени требуется вашему Java-приложению для рендеринга каждого кадра в основном потоке пользовательского интерфейса и потоке рендеринга. Эти данные могут быть полезны при исследовании узких мест, вызывающих рывки в работе пользовательского интерфейса и низкую частоту кадров. Например, каждый кадр, рендеринг которого занимает больше 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

В состав SDK Manager теперь входит CMake версии 3.10.2. Обратите внимание, что 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() в CMake.

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

В Android App Bundles теперь поддерживаются Instant Apps.

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

Если вы создаете новый проект 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» .