Android Studio 4.1 发布

Android Studio 4.1 主要是包含了各类新功能和改进,其中 Android Gradle 插件也升级为 4.1.0,要了解更多信息请查看完整的 Android Gradle 插件发行说明:https://developer.android.com/studio/releases/gradle-plugin#4-1-0node

新数据库检查器

使用新的 Database Inspector 能够在应用运行的过程当中检查,查询和修改数据库,固然前提应用所在的设备API Level 须要 26或更高,而后从菜单栏中选择 View > Tool Windows > Database Inspectorandroid

要了解更多信息,请参阅使用数据库检查器调试数据库:https://developer.android.com/studio/inspect/databasegit

直接在Android Studio中运行Android模拟器

如今用户能够直接在 Android Studio 运行 Android 模拟器,该功能能够帮助开发者节省屏幕空间,使用快捷按键能够在模拟器和编辑器窗口之间快速导航,能够在一个窗口中查看模拟器和代码布局。github

要了解更多信息,请参阅 Android Emulator文档:https://developer.android.com/studio/run/emulator#run-emulator-studio数据库

使用TensorFlow Lite模型

ML模型绑定可让开发者更轻松地在项目直接导入.tflite 模型,而后 Android Studio 会生成易于使用的类,所以开发者能够用更少的代码和更好的类型安全性来运行模型。android-studio

支持机型

ML 模型绑定当前支持图像分类和样式转移模型,前提是它们经过元数据获得了加强,而随着后续的支持,ML 模型绑定将会扩展到其余领域,例如:对象检测,图像分割和文本分类。安全

TensorFlow Hub(https://tfhub.dev/android-studio/collections/ml-model-binding/1) 上提供了各类带有元数据的预训练模型,开发者还能够本身将元数据添加到TensorFlow Lite 模型中,如将元数据添加到TensorFlow Lite模型中概述(https://www.tensorflow.org/lite/convert/metadata )。intellij-idea

导入模型文件

要导入支持的模型文件,请按照下列步骤操做:app

  • File > New > Other > TensorFlow Lite Model. 的文件菜单中打开 TensorFlow Lite模型导入对话框 。
  • 选择 .tflite 模型文件。
  • 点击完成。

而后模型文件就会被导入到的项目中,并将其放置在 ml/ 文件夹中,若是该目录不存在,Android Studio 将为建立该目录。编辑器

查看模型元数据和使用状况

要查看导入模型的详细信息和获取有关如何在应用程序中使用它的说明,能够在项目中双击模型文件以打开模型查看器页面,该页面显示如下内容:

  • 一、模型:模型的高级描述
  • 二、Tensors:输入和输出 Tensors 的描述
  • 三、示例代码:如何与应用程序中的模型进行交互的示例

这是使用mobilenet_v1_0.25_160_quantized.tflite(https://tfhub.dev/tensorflow/lite-model/mobilenet_v1_0.25_160_quantized/1/metadata/1)的示例:

如示例所示,Android Studio 建立了一个 MobilenetV1025160Quantized 用于与模型进行交互的类。

若是模型没有元数据,屏幕将仅提供最少的信息。

已知问题和解决方法

  • 目前除了图像分类和样式转换外,对 TensorFlow Lite 模型对问题域的支持受到限制,尽管导入应该能够正常工做,可是某些模型输入和输出 TensorBuffers 并不友好,对于没有任何元数据的模型,全部模型输入和输出均为 TensorBuffers

  • 不支持输入和输出非 DataType.UINT8DataType.FLOAT32的数据类型。

此功能仍在开发中,所以请提供反馈或报告错误:https://issuetracker.google.com/issues/new?component=192708&template=840533

本机内存探查器

Android Studio Memory Profiler 如今包括一个本机内存 Profiler,Profiler 支持用于将Android 10或更高版本的物理设备。使用本机内存探查器能够记录本机代码中的内存分配和释放,并检查有关本机对象的累积统计信息。

要了解有关本机内存探查器的更多信息,请参阅:https://developer.android.com/studio/profile/memory-profiler#native-memory-profiler。

已知问题和解决方法

  • Android Studio 4.1中的本机内存探查器不适用于Android 11设备,4.2预览版本中当前提供了对Android 11设备配置文件的支持。

  • 从最初的4.1版本开始已禁用应用程序启动分析,将来在即将发布的版本中将启用此选项。解决方法是,可使用 Perfetto 独立命令行分析器来捕获启动配置文件。https://perfetto.dev/docs/quickstart/heap-profiling

系统跟踪用户界面:更轻松的选择新的分析选项以及更多的帧渲染数据

Android Studio探查器中的系统跟踪UI包括如下改进:

  • Box selection:如今在 Threads 部分中,开着能够拖动鼠标以执行矩形区域的框选择,经过单击右上角的 Zoom to Selection 按钮来放大该区域(或使用M键盘快捷键)。当开发者将类似的线程彼此相邻拖放时,能够跨多个线程进行选择以一次检查全部线程,例如可能要对多个工做线程执行分析。

  • Summary tab: “Summary” 面板中新的“Analysis”选项卡显示:

    • 汇总特定事件的全部发生次数的统计信息,例如发生次数和最小/最大持续时间。
    • 跟踪选定事件的事件统计信息。
    • 有关线程状态分布的数据。
    • 所选跟踪事件的最长运行时间。

要导航到另外一个事件,请从表中选择另外一行。

  • Display data :在“Display”部分,SurfaceFlinger 和 VSYNC 的新时间线能够帮助开发者调查应用程序UI中的渲染问题。

有关如何记录系统跟踪的基本用法说明,请参阅“使用CPU Profiler检查CPU活动”的“ 记录跟踪”部分 。
https://developer.android.com/studio/profile/cpu-profiler#method_traces
https://developer.android.com/studio/profile/cpu-profiler

Windows用户:若是在分析应用程序时线程活动时间轴中缺乏标签,请参阅 https://developer.android.com/studio/known-issues#system-trace-labels 以找到解决方法,改问题已在4.2版本中修复。

独立的探查器

使用新的独立探查器,如今能够在不运行完整的Android Studio IDE的状况下对应用程序进行探查,有关使用独立探查器的说明,请参阅“运行独立探查器”:https://developer.android.com/studio/profile/android-profiler#standalone-profilers

Dagger navigation support

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JJi365dN-1602658140684)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/164f3157edf44c48aba68f2c8fc5e1ae~tplv-k3u1fbpfcp-watermark.image)]

Android Studio 经过提供新的操做并扩展了“Find Usages”窗口中的支持,使在Dagger相关代码之间导航变得更加容易。

  • New gutter actions :对于使用 Dagger 的项目,IDE提供了装订线操做,可帮助开发者在带Dagger 注释的代码之间导航。例如,单击图片

使用给定类型的方法旁边的装订线操做可导航到该类型的提供程序;相反单击

装订线操做会导航到将类型用做依赖项的位置。

  • Find Usages node:在给定类型的提供者上调用“Find Usages ”时,“Find”窗口如今包括一个“Dependency consumer(s) ”节点,该节点列出了该类型的使用者,而对注入了Dagger的依赖项的使用者调用此操做,“Find”窗口将显示该依赖项的提供者。

Material Design Components:在新项目模板中更新了主题和样式

如今 “ Create New Project” 对话框中的 Android Studio 模板使用“ Material Design Components (MDC)”,而且默认状况下符合主题和样式的更新指南。更新包括:

  • MDC:项目依赖 com.google.android.material:material ,Base app themes 的主题使用 Theme.MaterialComponents.* 的父级覆盖更新MDC颜色的属性。

  • Color resources::colors.xml 使用文字名称的颜色资源(例如 purple_500 代替colorPrimary)。

  • Theme resources:主题资源位于 themes.xml(而不是 styles.xml)中并使用名称Theme.<ApplicationName>

  • Dark theme:Base application themes 使用 DayNight 父项,而且在 res/valuesres/values-night 之间区分开来。

  • Theme attributes :颜色资源在布局和样式中被称为主题属性(例如 ?attr/colorPrimary ),以免硬编码的颜色。

IntelliJ IDEA 2020.1

核心 Android Studio IDE 已进行了更新,在 IntelliJ IDEA 2020.1版本进行了改进,其中包括一个新的 Commit 窗口(启用版本控制操做)和一个新的 Zen 模式,能够经过选择 View> Appearance> Enter Distraction Free Mode 进行切换。

要了解有关版本2020.1中的改进的更多信息,请参见如下连接: https://blog.jetbrains.com/idea/2020/04/intellij-idea-2020-1-released/

IDE配置目录更改

用户配置目录的位置已更改成如下位置:

Windows

Syntax: %APPDATA%\Google\<product><version>

例如: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

MacOS

Syntax: ~/Library/Application Support/Google/<product><version>

例如: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Syntax: ~/.config/Google/<product><version>

例如: ~/.config/Google/AndroidStudio4.1

这些新目录位置与IntelliJ IDEA(基于Android Studio的IDE)的最新更新一致 。

Kotlin 1.3.72

Android Studio 4.1 捆绑了Kotlin 1.3.72,其中包括许多用于改善Kotlin高亮显示,检查和代码完成的修复程序,请查看1.3.72 Kotlin更改日志获取详细信息:https://github.com/JetBrains/kotlin/blob/1.3.70/ChangeLog.md#1372

自定义视图预览

建立自定义视图时(例如经过扩展 View或 Button类),Android Studio如今向您显示自定义视图的预览,使用工具栏中的下拉菜单可在多个自定义视图之间切换,或单击按钮以垂直或水平环绕内容。

注意:若是在预览中看不到更改,请从菜单栏中选择 Build> Make Project。

本机崩溃报告的符号

当本机代码发生崩溃或ANR时,系统会生成堆栈跟踪,该跟踪是程序崩溃以前一直在程序中调用的嵌套函数序列的快照。这些快照能够帮助开发者识别和修复源中的任何问题,可是必须首先将它们符号化,以将计算机地址转换回人类可读的函数名。

若是开发者的应用或游戏是使用C ++之类的本机代码开发的,那么如今能够将每种应用版本的调试符号文件上传到Play控制台。Play控制台使用这些调试符号文件来符号化您应用的堆栈跟踪,从而使分析崩溃和ANR更容易。要了解如何上传调试符号文件,请参阅本机崩溃支持。
https://developer.android.com/studio/build/shrink-code#native-crash-support

Apply Changes

为了在迭代应用程序时提升工做效率,Google 对运行Android 11 Developer Preview 3或更高版本的设备的“Apply Changes”进行了如下加强:

更快的部署速度

经过开发一种无需安装应用程序便可在设备上部署和保留更改的方法,在优化迭代速度上进行了大量投资。初始部署后,使用“Apply Code Changes” 或 “Apply Changes and Restart Activity”的 后续部署到Android 11设备的 速度如今显着提升。

要了解有关这两个操做之间区别的更多信息,请参见 https://developer.android.com/studio/run#apply-changes。

支持其余代码更改

对于运行Android 11 Developer Preview 3或更高版本的设备,如今能够添加方法而后经过单击 Apply Code Changes 或Apply Changes and Restart Activity 将这些更改部署到正在运行的应用程序中。