原文链接 :developer.android.com/studio/rele…

来了来了,Android Studio 又更新啦,本次代号是 Dolphin ,也便是海豚,那么这次的坑会是大海吗?本次更新主要内容是 Compose、Wear 和 Logcat 上的更新支撑,能够看到 Compose 生态总算越来越成熟了。

假如你对这上面三部分彻底不感兴趣,其实彻底能够不必过来躺坑。

一、Compose 新功用

本次新版别包括很多有 Jetpack Compose 的新功用和功用改善。

Compose Animation Coordination

假如你的动画是用于 composable preview,那么现在能够运用 Animation Preview 来一起检查和协调所有动画,甚至还能够冻住特定的动画

Compose Multipreview Annotations

开发者现在能够界说一个包括多个 Preview 的注释类,并运用该新注释一次生成这些预览

运用这个新注释能够一起预览多个设备、字体和主题,再也不需求为每个 composable 重复完成。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

Compose Recomposition Counts in Layout Inspector

在调试 Compose 布局时,了解 composables 何时进行或不进行重构,关于了解 App 的 UI 是否正确完成非常重要。

例如,假如它的重组次数过多,那就或许会多浪费额定的资源,一起假如组件没有依照预期进行重组,则或许会导致 UI 异常。

Layout Inspector 现在答应开发者检查布局层次结构中的 composables 何时从头组合或越过,当用户与运用进行交互时就会显现相关信息,假如要开端运用该功用,请确保运用运用 Compose1.2.0-alpha03 或更高版别。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

打开 Layout Inspector 窗口并衔接运用进程,在 Component Tree 中会看到布局层次结构周围出现了两个新列:

  • 榜首列显现每个节点的组成数量。
  • 第二列显现每个节点的越过次数。

当从 Component TreeLayout Display 中挑选一个 composable 时,还能够在 Attributes 窗格中看到类似的信息。

假如要重置计数,能够单击 Component Tree 面板顶部附近的 Reset 。重置计数能够帮助了解运用进行特定交互期间的从头组合或越过次数。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

二、Wear

更新了 Wear OS 模拟器配对助手

从 Android Studio Dolphin Canary 3 开端,Wear OS 模拟器配对助手能够更轻松地管理和衔接 Wear 模拟器:

  • Device Manager 里检查 Wear devices。
  • 将多个 Wear 设备与单个虚拟或实体手机配对。
  • 发动时自动从头衔接曾经配对的设备,Android Studio 现在会记住并从头配对上一次设置的配对。

要运用这些新功用,需求手机模拟器 API 等级为 30 或更高,并安装了 Google Play 商铺。

此外还需求确保 Wear 模拟器是 API 等级 28 或更高等级,假如要为模拟设备升级到最新的体系映像,请转到 Tools > SDK Manager

有关更多信息,请参阅 运用 Wear OS 模拟器配对助手。

更新了 Wear OS 模拟器工具栏

从 Android Studio Dolphin Canary 2 开端,关于 API 等级 28 或更高等级的 Wear 模拟器,工具栏现在会有模拟设备上的物理按钮和常见操作的按钮

新按钮是:1⃣️ 和 2⃣️ 圆点,(按钮 2 仅在 API 等级 30 或更高等级上可用)、Palm 按钮和 Tilt 按钮:

  • 要将设备设置为环境模式,单击 Palm 按钮。
  • 要将设备返回到环境模式之前的最终一个屏幕,单击 Tilt 按钮。

有关详细信息,请参阅 在模拟器中履行常见操作。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

新的 Wear OS 运转装备

添加了新的运转装备以快速运转和调试特定于 Wear OS 的表面,例如表盘、磁贴和杂乱功用,能够在运转运用程序时从 Run/Debug Configurations 对话框创立这些新装备。

有关更多信息,请参阅 Wear OS 运转/调试装备。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

三、新的 Logcat

Logcat 已更新,能够更轻松地解析、查询和盯梢日志。

New formatter

Logcat 现在会对日志进行格式化,以便开发者能够更轻松地扫描有用信息如标签和消息,而且会识别不同类型的日志,例如正告和错误。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

在视图预设之间切换

Logcat 现在答应通在不同的视图模式之间快速切换。

每种视图模式都供给了不同的默许设置,用于显现更多或更少的信息,例如时刻戳、标签和进程 ID (PID)。

另外还能够经过挑选Modify View 来自界说这些默许视图模式以及自界说视图模式。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

新的键值查找

在曾经的 Logcat 版别中,开发者需求挑选运用字符串查找(支撑正则表达式)或经过运用 Logcat UI 填充各种字段来创立新过滤器。

榜首重办法让查找变得愈加杂乱,而第二个选项让同享和设置查询变得愈加困难,所以我们现在经过直接从主查询字段引入键值查找来简化体会

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

这个新的查询体系供给了开发者想要查询的准确性,而且不依赖于正则表达式,还能够从历史中调用曩昔的查询,并与其他人同享这些查询,此外,你依然能够挑选运用 RegEx 并依据键值扫除日志。

  • 本地运用项目的 PIDpackage:mine

  • 具体数值:

    • package:<package-ID>
    • tag:<tag>
    • level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
  • 经过在键前面加上扫除特定值

    -tag:<exclude-tag>`
    
  • 经过在键后放置 ~ 来运用具有给定键的正则表达式

    • tag~:<regular-expression-tag>

    • 结合扫除标签:-tag~:<exclude-regular-expression-tag>

你还能够经过 查询历史挑选(漏斗) 来查询字段,然后从下拉列表中挑选它们来检查查询历史记录。

另外,假如要收藏某个查询能够请单击 收藏查询(黄色⭐️) 查询字段结尾的 。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

跨运用程序溃散/重启盯梢日志

新的 Logcat 现在能够更轻松地在运用溃散和从头发动时盯梢运用的日志,这样开发者就不会错失这些事情中的重要日志。

当 Logcat 注意到运用进程已停止并从头发动时,将在输出中看到一条消息,例如PROCESS ENDED PROCESS STARTED, 如下所示:

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~

而且,从头发动 Logcat 会保存会话装备,例如选项卡拆分、过滤器和检查选项,以便开发者能够轻松地继续之前的会话。

四、其他

Gradle Managed Devices

为了在运用 Android 虚拟设备进行自动化检测测验时提高共同性、功用和可靠性,本次推出了 Gradle 保管设备。

此功用适用于 API 等级 27 及更高等级,答应开发者在项目的 Gradle 文件中装备虚拟测验设备,构建体系在履行自动化测验时运用装备来彻底管理(即创立、部署和撤除)这些设备。

这个功用使 Gradle 不只能够检查正在运转的测验状况,还能够检查设备的生命周期,然后经过以下办法提高测验的体会和质量:

  • 处理与设备相关的问题,以确保履行开发者的测验用例
  • 利用模拟器快照来改善设备发动时刻和内存运用率,并在测验之间将设备康复到干净状况
  • 缓存测验结果并仅从头运转或许供给不同结果的测验
  • 为在本地和远程测验运转之间运转测验供给共同的环境

此外,Gradle Managed Devices 引入了一种名为自动测验设备 (ATD) 的新式仿真器设备,设备经过优化以提高运转仪器测验时的功用。

要了解有关 Gradle 保管设备及其相关功用的更多信息,请参阅 运用 Gradle 保管设备扩展测验。

R8 支撑运用根据 DEX 指令偏移的映射文件

在优化行信息时,R8 现在能够运用根据指令偏移的行表将信息编码到同享调试信息目标中,这大大减少了线路信息的开支。

此外,假如办法没有行号信息,从 O(API 等级 26)开端的 Android VM 支撑在仓库盯梢中打印指令偏移量,当运用 minSdk 26 或更高版别进行编译而且没有源文件信息时,R8 会彻底剥离行号信息。

无状况 lambda 不再被视为单例

构建构建时,无状况 lambda 不再分配为单例,因为添加了字段和类初始化器,之前作为单例的表示增加了代码大小开支,以及因为静态类初始化而导致的发动开支。

无状况 lambda 现在在运用站点上分配的办法与有状况 lambda(带捕获的 lambda)相同

R8 避免了 Android 运转时的验证速度变慢

为了消除 Android 运转时(Dalvik 和 ART)上的功用问题,R8(不是 D8)现在引入了 library stubs 并 outline 了对库类和运转时或许不存在的办法的库办法的调用。

这样做能够消除许多验证问题并提高运转时功用,而且此功用始终启用。

经过 Java 8+ API 脱糖支撑 JDK-11 API

运用 coreLibraryDesugaring 依赖项时,现在支撑根据 JDK-11 的完成库,有关更多信息,请参阅 desugar_jdk_libs 更改日志 。

Android Gradle 插件和 Android Studio 兼容性

Android Studio 构建体系根据 Gradle,Android Gradle 插件添加了一些特定于构建 Android 运用程序的功用,下表列出了每个版别的 Android Studio 所需的 Android Gradle 插件版别。

Android Studio Dolphin |  2021.3.1 发布,快来看看有什么更新吧~