Android Studio 3.3(2019 年 1 月)

Android Studio 3.3 是一个主要版本,包含各种新功能和改进。

3.3.2(2019 年 3 月)

此次要更新修正了多个 bug 并进行了多项性能改进。如需查看重要 bug 修复列表,请参阅版本更新博客上的相关博文。

3.3.1(2019 年 2 月)

本次要更新修正了多个 bug 并进行了多项性能改进。

IntelliJ IDEA 2018.2.2

核心 Android Studio IDE 已通过 2018.2.2 版本进行了更新,增加了 IntelliJ IDEA 中的相关改进。

Android Gradle 插件更新

如需了解 Android Gradle 插件中的新变化,请参阅其版本说明

借助 Navigation Editor,您可以使用 Navigation 架构组件快速直观呈现导航内容并将其构建到您的应用中。

如需了解详情,请参阅使用 Navigation 架构组件实现导航

删除未使用的 Android Studio 目录

当您首次运行 Android Studio 的主要版本时,它会查找包含缓存、设置、索引和日志的目录,以确定找不到对应安装内容的 Android Studio 的版本。然后,Delete Unused Android Studio Directories 对话框中会显示这些未使用目录的位置、大小和最后修改时间,并提供删除它们的选项。

Android Studio 考虑删除的目录如下所示:

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

lint 方面的改进

从 Gradle 调用时,lint 的运行速度明显加快 - 对于较大的项目,lint 的运行速度最多可提高四倍。

“Create New Project”向导

Create New Project 向导具有全新外观,并且包含有助于简化新 Android Studio 项目创建过程的更新。

如需了解详情,请参阅创建项目

分析器更新

Android Studio 3.3 包含对多个分析器的更新。

改进了性能

根据用户反馈,使用性能分析器时的渲染性能得到了极大的改善。请继续提供反馈,特别是在您依旧看到性能问题时。

性能分析器内存分配跟踪选项

为了在进行性能分析时提高应用性能,内存分析器现在会默认定期对内存分配进行采样。如果需要,在搭载 Android 8.0(API 级别 26)或更高版本的设备上进行测试时,您可以使用 Allocation Tracking 下拉菜单来更改此行为。

您可以从 Allocation Tracking 下拉菜单中选择以下模式:

  • Full:捕获所有对象内存分配。请注意,如果您有一个分配了大量对象的应用,则可能会在进行性能剖析时遇到重大性能问题。

  • Sampled:捕获对象内存分配的周期性采样。这是默认行为,在进行性能剖析时对应用性能的影响较小。对于在短时间内分配大量对象的应用,您可能会遇到一些性能问题。

  • Off:关闭内存分配。如果未选择此选项,系统会在记录 CPU 时自动启用此模式,然后在记录完成后恢复先前的设置。您可以在 CPU 记录配置对话框中更改此行为。

    跟踪会同时影响 Java 对象和 JNI 引用。

检查帧渲染数据

CPU 性能分析器中,您现在可以检查 Java 应用在主界面线程和 RenderThread 上渲染每个帧所需的时间。在调查会导致界面卡顿和帧速率偏低的瓶颈时,此数据可能很有用。例如,每个用时超过 16 毫秒才能保持顺畅帧速率的帧都以红色显示。

如需查看帧渲染数据,请使用支持您跟踪系统调用的配置来记录轨迹。记录轨迹后,在 FRAMES 部分下沿记录时间轴查找每个帧的相关信息,如下所示。

如需详细了解如何调查和解决帧速率问题,请参阅渲染速度缓慢

事件时间轴中的 fragment

事件时间轴现在会显示附加和分离 fragment 的时间。此外,将鼠标悬停在某个 fragment 上时,工具提示会显示该 fragment 的状态。

在网络性能分析器中查看连接负载的格式化文本

以前,网络性能分析器仅显示来自连接负载的原始文本。Android Studio 3.3 现在会默认格式化某些文本类型,包括 JSON、XML 和 HTML。在 ResponseRequest 标签页中,点击 View Parsed 链接可显示格式化文本,点击 View Source 链接可显示原始文本。

如需了解详情,请参阅利用网络性能分析器检查网络流量

自动下载 SDK 组件

当您的项目需要 SDK 平台、NDK 或 CMake 中的 SDK 组件时,Gradle 现在会尝试自动下载所需的软件包,前提是您之前已使用 SDK 管理器接受了所有相关的许可协议。

如需了解详情,请参阅使用 Gradle 自动下载缺失的软件包

对 Clang-Tidy 的支持

Android Studio 现在支持使用 Clang-Tidy 对包含原生代码的项目进行静态代码分析。如需启用对 Clang-Tidy 的支持,请将 NDK 更新为 r18 或更高版本。

然后,您可以启用或重新启用检查,方法是打开 SettingsPreferences 对话框,然后依次选择 Editor > Inspections > C/C++ > General > Clang-Tidy。在 SettingsPreferences 对话框中选择此检查时,您还可以在最右侧面板的 Option 部分下看到已启用和已停用的 Clang-Tidy 检查列表。如需启用其他检查,请将其添加到列表中,然后点击 Apply

如需使用其他选项配置 Clang-Tidy,请点击 Configure Clang-Tidy Checks Options,然后在随即打开的对话框中添加这些选项。

移除了针对 C++ 自定义的选项

已从 Customize C++ Support 对话框中移除以下选项:

  • Exceptions Support (-fexceptions)
  • Runtime Type Information Support (-ftti)

系统已对通过 Android Studio 创建的所有项目启用相应行为。

CMake 版本 3.10.2

SDK 管理器现在包含 CMake 版本 3.10.2。请注意,Gradle 仍会默认使用版本 3.6.0。

如需为 Gradle 指定要使用的 CMake 版本,请将以下内容添加到模块的 build.gradle 文件中:

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

如需详细了解如何在 build.gradle 中配置 CMake,请参阅手动配置 Gradle

用于指定最低 CMake 版本的新“+”语法

在主模块的 build.gradle 文件中指定 CMake 的版本时,您现在可以附加“+”以匹配 CMake cmake_minimum_required() 命令的行为。

警告:不建议将“+”语法与其他 build 依赖项搭配使用,因为动态依赖项可能会导致意外的版本更新和难以解析版本差异。

Android App Bundle 现在支持免安装应用

Android Studio 现在允许您构建 Android App Bundle,并且完全支持 Google Play 免安装体验。换句话说,您现在可以通过单个 Android Studio 项目同时构建和部署安装式应用和免安装体验,并将其纳入单个 Android App Bundle 中。

如果您要使用 Create New Project 对话框创建新的 Android Studio 项目,请确保选中 Configure your project > This project will support instant apps 旁边的复选框。然后,Android Studio 会像往常一样创建新的应用项目,但会在清单中包含以下属性,以便向应用的基础模块添加免安装应用支持:

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

然后,您可以创建支持免安装体验的功能模块,方法是从菜单栏中依次选择 File > New > New Module,然后从 Create New Module 对话框中选择 Instant Dynamic Feature Module。请注意,创建此模块也会使应用的基本模块支持免安装体验。

如需将应用作为免安装应用部署到本地设备,请修改您的运行配置,然后选中 General > Deploy as instant app 旁边的复选框。

单变体项目同步

将项目与 build 配置同步,是让 Android Studio 了解项目结构的重要步骤。不过,对于大型项目来说,此过程可能非常耗时。如果您的项目使用了多个 build 变体,那么您现在可以限定仅同步当前所选的变体,从而优化项目同步操作。

您需要结合使用 Android Studio 3.3 或更高版本与 Android Gradle 插件 3.3.0 或更高版本,才能启用此优化。满足这些要求后,Android Studio 会在您同步项目时提示您启用此优化。默认情况下,新项目也会启用此优化。

如需手动启用此优化,请依次点击 File > Settings > Experimental > Gradle(在 Mac 上,请依次点击 Android Studio > Preferences > Experimental > Gradle),然后选中 Only sync the active variant 复选框。

注意:此优化目前支持仅包含 Java 编程语言的项目。例如,如果 Android Studio 在您的项目中检测到 Kotlin 代码或 C++ 代码,那么 Android Studio 不会自动启用此优化,您也不应手动启用此优化。

如需了解详情,请参阅启用单变体项目同步

提供快速反馈

如果您已选择分享使用情况统计信息以帮助改进 Android Studio,则会在 Android Studio 窗口底部的状态栏中看到以下两个新图标:

只需点击最能代表您目前使用 Android Studio 的体验的图标来提供反馈即可。在您执行此操作后,Android Studio 会发送使用情况统计信息,让 Android Studio 团队能够更好地了解您的感受。在某些情况下,例如,当您表示在使用 Android Studio 时有不好的体验时,您将有机会提供进一步的反馈。

如果尚未启用分享使用情况统计信息,您可以通过以下步骤予以启用:打开 Settings 对话框(在 Mac 上,则打开 Preferences),依次选择 Appearance & Behavior > System Settings > Data Sharing,然后选中 Send usage statistics to Google