Android Studio 4.1 (2020 年 8 月)
Android Studio 4.1 是一个主要版本,包含各种新功能和改进。
4.1.3 (2021 年 3 月)
此次小幅更新包含多项 bug 修复。如需查看显著 bug 修复的列表,请阅读版本更新博客上的相关博文。
4.1.2 (2021 年 1 月)
<p>
This minor update includes various bug fixes.
To see a list of notable bug fixes, read the related post on the
<a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>
<p>
This minor update includes various bug fixes.
To see a list of notable bug fixes, read the related post on the
<a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
Release Updates blog</a>.
</p>
新的数据库检查器
使用新的 数据库检查器 检查、查询和修改正在运行的应用中的数据库。如需开始使用,请将您的应用部署到运行 API 级别 26 或更高级别的设备上,然后从菜单栏中选择 View > Tool Windows > Database Inspector。
如需了解详情,请参阅使用数据库检查器调试数据库。
在 Android Studio 中直接运行 Android 模拟器
您现在可以直接在 Android Studio 中运行 Android 模拟器。使用此功能可以节省屏幕空间,可以使用热键在模拟器和编辑器窗口之间快速切换,还可以将 IDE 和模拟器工作流程整理到单个应用窗口中。
如需了解详情,请参阅Android 模拟器文档。
使用 TensorFlow Lite 模型
ML 模型绑定使您可以轻松地直接导入 .tflite
模型文件并在您的项目中使用它们。Android Studio 生成易于使用的类,以便您可以使用更少的代码和更好的类型安全性来运行您的模型。
支持的模型
ML 模型绑定的当前实现支持图像分类和风格迁移模型(前提是它们已使用元数据增强)。随着时间的推移,支持范围将扩展到其他问题领域,例如对象检测、图像分割和文本分类。
在 TensorFlow Hub 上提供了各种带有元数据的预训练模型。您也可以按照向 TensorFlow Lite 模型添加元数据中概述的方法,自行向 TensorFlow Lite 模型添加元数据。
导入模型文件
要导入支持的模型文件,请按照以下步骤操作
- 在 File 菜单中打开 TensorFlow Lite 模型导入对话框,路径为 File > New > Other > TensorFlow Lite Model。
- 选择您之前下载或创建的
.tflite
模型文件。 - 点击 Finish。
这会将模型文件导入您的项目并将其放置在 ml/
文件夹中;如果该目录不存在,Android Studio 会为您创建它。
查看模型元数据和用法
要查看导入模型的详细信息并获取如何在您的应用中使用它的说明,请双击项目中的模型文件以打开模型查看器页面,其中显示以下内容
- 模型:模型的高级描述
- 张量:输入和输出张量的描述
- 示例代码:如何在您的应用中与模型交互的示例
以下是使用 mobilenet_v1_0.25_160_quantized.tflite 的示例
如示例所示,Android Studio 创建了一个名为 MobilenetV1025160Quantized
的类,用于与模型交互。
如果模型没有元数据,此屏幕将仅提供最少的信息。
已知问题和解决方法
- 目前对 TensorFlow Lite 模型的支持仅限于图像分类和风格迁移之外的问题领域。虽然导入应该没问题,但某些模型输入和/或输出由 TensorBuffers 表示,而不是友好的类型。对于没有任何元数据的模型,所有模型输入和输出都将是 TensorBuffers。
- 不支持输入和输出数据类型与
DataType.UINT8
或DataType.FLOAT32
不同的模型。
此功能仍在开发中,因此请提供反馈或报告 bug。
Native 内存性能分析器
Android Studio 内存性能分析器现在包含一个 Native 内存性能分析器,用于分析部署到运行 Android 10 或更高版本的物理设备的应用。借助 Native 内存性能分析器,您可以记录 Native 代码的内存分配和解除分配,并检查 Native 对象的累计统计信息。
要详细了解 Native 内存性能分析器,请参阅使用内存性能分析器检查应用内存使用量。
已知问题和解决方法
Android Studio 4.1 中的 Native 内存性能分析器不适用于 Android 11 设备。对 Android 11 设备进行性能分析的支持目前在4.2 预览版中提供。
从 4.1 的初始版本开始,应用启动性能分析已停用。此选项将在后续版本中启用。
作为一种解决方法,您可以使用 Perfetto 独立命令行性能分析器来捕获启动配置文件。
System Trace UI:更轻松的选择、新的分析标签页以及更多帧渲染数据
Android Studio 性能分析器中的 System Trace UI 包含以下改进
-
框选:在 Threads 部分,您现在可以拖动鼠标来对矩形区域进行框选,然后点击右上角的 Zoom to Selection
按钮(或使用 M 键盘快捷键)来放大选中的区域。当您将相似的线程拖放到彼此相邻的位置时,您可以跨多个线程进行选择,一次性检查所有线程。例如,您可能需要对多个工作线程执行分析。
-
Summary 标签页: Analysis 面板中的新 Summary 标签页显示
-
特定事件所有出现次数的汇总统计信息,例如出现次数和最小/最大持续时间。
-
所选出现次数的跟踪事件统计信息。
-
关于线程状态分布的数据。
-
所选跟踪事件运行时间最长的出现次数。
要导航到另一个出现次数,请从表中选择另一行。
-
-
显示数据:在 Display 部分,新的 SurfaceFlinger 和 VSYNC 时间线有助于您调查应用界面中的渲染问题。
有关如何记录系统跟踪的基本使用说明,请参阅使用 CPU 性能分析器检查 CPU 活动中的记录跟踪部分。
现已推出独立性能分析器
借助新的独立性能分析器,您现在无需运行完整的 Android Studio IDE 即可对应用进行性能分析。
有关使用独立性能分析器的说明,请参阅运行独立性能分析器。
Dagger 导航支持
Android Studio 通过提供新的边槽操作并在 Find Usages 窗口中扩展支持,使在 Dagger 相关代码之间导航变得更容易。
-
新的边槽操作:对于使用 Dagger 的项目,IDE 提供了边槽操作,可帮助您在 Dagger 标注的代码之间导航。例如,点击使用给定类型的 方法旁边的
边槽操作,会将您导航到该类型的提供程序。反之,点击
边槽操作,会将您导航到将类型用作依赖项的位置。
-
Find Usages 节点:当您对给定类型的提供程序调用 Find Usages 时,Find 窗口现在包含一个 Dependency consumer(s) 节点,该节点列出了该类型的消费者。反之,对 Dagger 注入的依赖项的消费者调用此操作时,Find 窗口会显示该依赖项的提供程序。
Material Design Components:新项目模板中更新的主题和样式
Android Studio 的 Create New Project 对话框中的模板现在默认使用 Material Design Components (MDC) 并遵循更新的主题和样式指南。更新包括
-
MDC:项目在
build.gradle
中依赖于com.google.android.material:material
。基础应用主题使用Theme.MaterialComponents.*
父主题并重写更新的 MDC 颜色和“on”属性。 -
颜色资源:
colors.xml
中的颜色资源使用字面名称(例如,purple_500
而不是colorPrimary
)。 -
主题资源:主题资源位于
themes.xml
中(而不是styles.xml
中),并使用Theme.<var>
名称。<var> -
深色主题:基础应用主题使用
DayNight
父主题,并拆分到res/values
和res/values-night
中。 -
主题属性:颜色资源在布局和样式中作为主题属性(例如,
?attr/colorPrimary
)引用,以避免硬编码颜色。
IntelliJ IDEA 2020.1
Android Studio 核心 IDE 已更新,包含 IntelliJ IDEA 2020.1 版本中的改进,包括新的 Commit 窗口(用于版本控制操作)和新的 Zen 模式(可通过选择 View > Appearance > Enter Distraction Free Mode 进行切换)。
要详细了解 2020.1 版本中的改进,请参阅IDEA 2020.1。
IDE 配置目录更改
用户配置目录的位置已更改为以下路径
Windows
语法:%APPDATA%\Google<product><version>
示例:C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1
macOS
语法:~/Library/Application Support/Google/<product><version>
示例:~/Library/Application Support/Google/AndroidStudio4.1
Linux
语法:~/.config/Google/<product><version>
示例:~/.config/Google/AndroidStudio4.1
这些新的目录位置与 Android Studio 所基于的 IDE IntelliJ IDEA 的近期更新保持一致。
如果 Studio 升级后无法重启,您可能需要删除之前版本的 Studio 的配置目录。如需详细了解,请参阅已知问题页面。
Kotlin 1.3.72
Android Studio 4.1 捆绑了 Kotlin 1.3.72,其中包含一些修复,旨在改进 Kotlin 突出显示、检查和代码补全功能。请查看 1.3.72 Kotlin 变更日志了解详情。
自定义视图预览
创建自定义视图(例如,通过扩展 View
或 Button
类)时,Android Studio 现在会显示自定义视图的预览。使用工具栏中的下拉菜单在多个自定义视图之间切换,或点击按钮垂直或水平环绕内容。
注意:如果您在预览中没有看到更改,请从菜单栏中选择 Build > Make Project。
Native 崩溃报告的符号化
当 Native 代码中发生崩溃或 ANR 时,系统会生成堆栈跟踪,这是程序中嵌套函数调用序列直到崩溃时刻的快照。这些快照可以帮助您识别和修复源代码中的任何问题,但必须先进行符号化处理,将机器地址翻译回人类可读的函数名称。
如果您的应用或游戏使用 Native 代码(例如 C++)开发,您现在可以将调试符号文件上传到 Play 管理中心,以供应用的每个版本使用。Play 管理中心使用这些调试符号文件对应用的堆栈跟踪进行符号化处理,从而更容易分析崩溃和 ANR。要了解如何上传调试符号文件,请参阅Native 崩溃支持。
应用更改
为了帮助您在应用迭代过程中提高效率,我们针对运行 Android 11 开发者预览版 3 或更高版本的设备对应用更改 (Apply Changes) 功能进行了以下增强
更快的部署速度
我们投入了大量精力来优化您的迭代速度,开发了一种无需安装应用即可在设备上部署和保留更改的方法。初始部署后,使用 Apply Code Changes 或 Apply Changes and Restart Activity
部署到 Android 11 设备的后续部署速度现在显著加快。
要详细了解这两个操作之间的区别,请参阅应用更改。
支持额外的代码更改
对于运行 Android 11 开发者预览版 3 或更高版本的设备,您现在可以添加方法,然后通过点击 Apply Code Changes 或 Apply Changes and Restart Activity
将这些更改部署到正在运行的应用。