Android Studio Flamingo | 2022.2.1 Patch 1(火烈鸟版本)

article/2025/10/11 13:56:24

版本概况

Android Studio Flamingo | 2022.2.1 Patch 1
Build #AI-222.4459.24.2221.9971841, built on April 20, 2023
Runtime version: 17.0.6+0-b2043.56-9586694 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 6
Registry:
    external.system.auto.import.disabled=true
    ide.text.editor.with.preview.show.floating.toolbar=false
    ide.balloon.shadow.size=0
    gradle.version.catalogs.dynamic.support=true

Non-Bundled Plugins:
    com.intuit.intellij.makefile (2.2.0)
    com.github.setial (4.0.2)
    com.alayouni.ansiHighlight (22.3.3)
    GsonOrXmlFormat (2.0)
    GLSL (1.24)
    com.mistamek.drawablepreview.drawable-preview (1.1.5)
    com.layernet.plugin.adbwifi (1.0.5)
    com.likfe.ideaplugin.eventbus3 (2020.0.2)

Android Gradle 插件和 Android Studio 兼容性

Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 Android Gradle 插件版本。

如果您的项目不受某个特定版本的 Android Studio 支持,您仍然可以使用旧版 Android Studio 打开和更新项目。

Android Studio 版本所需插件版本
Giraffe | 2022.3.13.2-8.1
Flamingo | 2022.2.13.2-8.0
Electric Eel | 2022.1.13.2-7.4
Dolphin | 2021.3.13.2-7.3

旧版

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

以下是 Android Studio Flamingo 中的新功能。

主题应用程序图标和动态颜色

从Android Studio Flamingo Beta 1开始,您可以创建着色的布局或启动程序图标,以继承用户选择的壁纸的颜色。此功能使用Material 3中的动态颜色和Android 13中的主题应用程序图标。

支持预览带主题的应用图标

对于 launcher.xml 文件,您现在可以在工具栏中使用新的 System UI Mode 选择器来切换壁纸,并在使用不同用户所选壁纸时查看带主题的应用图标的显示效果。

System UI Mode 选择器。

 预览不同壁纸中带主题的应用图标

动态配色预览

对于 Compose 预览:我们在可组合项预览注解中添加了一个新属性 wallpaper。如果您已在应用中启用动态配色,则可以使用这个新属性切换壁纸,并在使用不同的用户所选壁纸时查看界面的显示效果。如需使用此功能,您必须使用 Compose 1.4.0-alpha03 或更高版本。

 Compose 预览中的动态配色壁纸

对于 Android XML:如果您已在应用中启用动态配色,现在可以在工具栏中使用新的 System UI Mode 选择器切换壁纸,并在使用不同用户所选壁纸时查看布局的显示效果。请注意,您必须先选择将主题更改为 Material 动态配色主题,然后再更改壁纸。

 布局编辑器中的动态配色壁纸。

实时编辑功能更新

实时编辑现在有两种模式:手动和自动。在手动模式下,所做的代码更改会在您每次使用 Ctrl + S(在 macOS 上,则使用 Command + S)手动保存时应用。在自动模式下,当您更新可组合函数时,所做的更改会即时应用到设备或模拟器中。如需选择运行实时编辑的模式,请从菜单栏中依次选择 File > Settings(在 macOS 上,则依次选择 Android Studio > Preferences),依次点击 Editor > Live Edit,然后勾选 Push Edits Manually 或 Push Edits Automatically 复选框。

Compose Tracing 功能

系统跟踪实用程序是一款 Android 工具,可将设备活动记录保存到跟踪文件,该文件可提供给定时间段内应用系统进程的整体情况。从 Android Studio Flamingo 开始,您可以使用 Compose Tracing 功能在 System Trace 性能分析器中查看 Compose 函数。 Compose Tracing 可让您获享系统跟踪的低干扰,并获得有关组合的方法跟踪级详细信息,有助于您了解哪些 Compose 函数实际上正在重组。

如需开始使用重组跟踪,您需要至少更新到以下版本:

  • Android Studio Flamingo Canary 5
  • Compose UI:1.3.0-beta01
  • Compose Compiler:1.3.0
  • 运行轨迹的设备或模拟器必须至少为 API 级别 30。

此外,您还需要新增以下 Compose Runtime Tracing 依赖项:

implementation("androidx.compose.runtime:runtime-tracing:1.0.0-alpha01")

如需查看重组跟踪情况,请打开 Android Studio 性能分析器,然后选择 CPU 性能分析器。将应用转到您要跟踪的界面,然后选择 System Trace 和 Record。记录时,请使用您的应用发起重组。停止记录和跟踪进程后,您可以直接在 Threads 时间轴中看到重组轨迹中的 Compose 函数。您还可以从 Analysis 窗格的 Flame ChartTop DownBottom Up 和 Events 标签页中查看 Compose 函数。

这是一项正在开发中的实验性功能,我们欢迎您提供反馈。如需了解详情,请参阅 Compose tracing。

项目模板更新

Android Studio Flamingo Canary 6 添加了用于创建项目或模块的新模板。默认情况下,模板使用 Compose Material 3,但被指定为 View 模板的情况除外。我们建议最好使用 Compose Material 3 模板(例如 Empty Activity)来创建 Android 应用。如需了解详情,请参阅 Compose Material 3 参考文档。

如需查看模板,请从主菜单中依次选择 File > New > New Project 或 New Module,然后打开 New Project 或 Create New Module 向导。

 

Network Inspector 流量拦截

从 Android Studio Flamingo Canary 1 开始,默认情况下,Network Inspector 会显示完整时间轴的所有流量数据。您可以选择时间轴中的某个范围,以便仅查看该范围内的流量。

您还可以创建和管理规则,以帮助测试应用在遇到不同响应(例如状态代码、响应标头和正文)时的行为方式。这些规则可确定要拦截哪些响应,以及如何在响应到达应用之前修改这些响应。您可以通过勾选各条规则旁边的 Active 复选框来选择要启用或停用的规则。每次修改规则时,系统会自动保存规则。

如需新建规则,请前往 Network Inspector 中的 Rules 标签页,然后点击 + 以创建新规则。在 Rule Details 面板中为新规则命名,并在 Origin 子部分下添加要拦截的响应的来源信息。Rules 表中的网址应该会根据您对响应来源所做的更改进行更新。该子部分中的所有字段均为选填字段。

在 Response 子部分中,您可以在响应被发送到应用之前修改响应。例如,您可以将规则设置为对具有特定状态代码的响应执行规则并修改相应状态代码。

 

修改标头

在 Header rules 子部分,您可以创建多条子规则,用于在响应中添加或修改标头。创建多个标头规则时,请使用 Rules 表顶部的向上箭头和向下箭头来更改标头规则的顺序。该顺序会影响修改后的响应标头,因为系统会按照表中列出的顺序应用标头规则。

如需添加标头规则,请在 Header rules 部分中点击 +

如需添加标头,请在 Add new header 部分中输入标头名称和标头值。

如需修改标头,请前往 Edit existing header 标签页,然后指定您要查找的标头名称或标头值。输入替换后的标头名称或标头值。

 

修改响应正文

您还可以创建子规则来修改响应正文。您可以选择“Find and Replace”以查找并替换正文的某一部分,该操作将替换正文中的第一个实例;或者,您也可以选择 Replace entire body 以替换全部正文内容。

标头规则类似,您也可以创建多个正文规则,并按照它们在表中列出的顺序应用这些规则。

在布局检查器中自动连接到前台进程

布局检查器现在自动连接到虚拟或物理设备上的应用程序。具体而言,布局检查器会自动连接到在连接设备的前台运行的可调试进程。

App Quality Insights 更新

Android Studio Flamingo Canary 5 及更高版本引入了多项 App Quality Insights 新功能,有助于您重点关注高优先级问题并与开发团队开展协作。

 

为帮助您发现最重要的问题,您现在可以按以下属性进行过滤。每个过滤器都会按事件数量排序,这样您就能知道哪个过滤中发生的事件最多。

  • Android 平台版本
  • 设备品牌和型号
  • Crashlytics Signal:Issues 面板中的相关问题旁边也会显示信号图标,以便您并排查看数量和信号。如果某个问题在过去已关闭,并再次出现在新版应用中,则会被视为“回归”问题。

 

  • 应用版本:此过滤条器现在包含更高级别的 Play 轨道过滤器,您可使用该过滤器自动选择正式版轨道、开放式测试轨道、封闭式测试轨道和/或内部测试轨道。

此外,您现在可以搜索包含各种选项的过滤器,以便您更快地自定义视图,而无需滚动浏览所有菜单选项。

直接从 Android Studio 为问题添加注解和关闭问题

为了让您更轻松地与团队成员协作,您现在可以直接在 App Quality Insights 工具窗口中执行以下操作:

  • 关闭问题。如需关闭问题,请点击堆栈轨迹主面板中的 Close 按钮。最近关闭的问题会显示在 Issues 面板中,并带有删除线。再次点击该按钮,即可重新打开最近关闭的问题。不过,一旦刷新 App Quality Insights 工具窗口,已关闭的问题将不再显示在窗口中。

  • 阅读问题备注并将其附加到问题中,以便团队成员能够在 Firebase 控制台中看到这些信息。如需撰写有关问题的备注,请选择相应问题并打开 Notes 面板。您必须拥有对 Crashlytics 项目的写入权限,才能写入备注。包含备注的问题会在 Issues 面板中出现“Notes”图标

如果您刚开始接触 App Quality Insights,并且想进一步了解该工具,请参阅早期版本说明。

在离线状态下利用有限功能进行调查

从 Android Studio Flamingo Canary 8 开始,您可以在离线状态下在 App Quality Insights 工具窗口中执行某些操作。如果您发出了新请求(例如点击 Refresh),而 Android Studio 无法与 Crashlytics 通信,则您可以通过 App Quality Insights 窗口进入离线模式

 在这种模式下,您可以继续根据缓存数据调查问题和最新事件。部分功能(如更改某些过滤器或关闭问题)无法使用。如需重新尝试连接到 Crashlytics 并返回到在线状态,请点击 Reconnect

 

一键式自动可分析 build 及运行

Android Studio Flamingo 和 AGP 7.3 引入了一键式自动可分析 build,可让您更轻松地配置可分析应用并对其进行性能分析。此功能需要搭载 API 级别 29 或更高级别的虚拟或实体测试设备。如需使用该功能,请点击 Profile app 图标旁边的箭头,然后从两个选项中进行选择:

  • Profile 'app' with low overhead 会启动 CPU 性能分析器和内存分析器。在内存分析器中,只有 Record Native Allocations 为启用状态。

  • Profile 'app' with complete data 会启动 CPU 性能分析器、内存分析器和能耗性能分析器。

如需详细了解如何以最低性能成本测试应用,请参阅可分析应用。

为 SDK 扩展提供 lint 支持

Android Studio Flamingo 为 SDK 扩展提供了 lint 支持。您可以使用此功能更新 lint 工具的 API 检查,以便在 API 向后移植以及在引入新的 API 接口(例如 Android Privacy Sandbox)的情况下正确执行 API 访问。

Lint 工具的 API 检查可确保您的代码仅使用由 minSdkVersion 控制或经 SDK_INT 检查后提供的 API。借助 SDK 扩展程序,一个 API 可以存在于多个 SDK 中。例如,Android U 中引入的 API 也可以添加到 Android R、S 和 T 中的向后移植扩展。此外,应用可使用其清单文件根据需要指定多个 API,另有一些新的 API 可用于检查各个扩展程序是否可用。Lint 工具现在会通过相应逻辑检查所需内容与已知存在的内容是否存在重叠的情况。

最后,该工具还提供了与 API 检查相关的 Studio IDE 功能。该功能现在可以处理新 API 接口的 API 违规行为,执行必要的检查,以及登记快速修复(每个可用的 API 接口可登记一次)。

IntelliJ IDEA 2022.2 平台更新

Android Studio Flamingo Canary 1 包含 IntelliJ IDEA 2022.2 更新,该更新改进了 IDE 体验。如需详细了解相关变更,请参阅 IntelliJ IDEA 2022.2 版本说明。

与 JDK 17 捆绑的 Android Studio

从 Android Studio Flamingo Canary 3 开始,Studio IDE 已与 JDK 17 捆绑在一起。如果 Android Studio 配置为使用嵌入式 JDK,则新项目将使用最新的稳定版 Android Gradle 插件和 JDK 17。不过,现有项目可能会中断,并且您可能需要手动将 JDK 设置为兼容的版本。

如需了解详情,请参阅设置 JDK 版本。


http://chatgpt.dhexx.cn/article/l8MKV9IT.shtml

相关文章

代码审查 本地测试经验汇总

软件测试虽然辛苦,但是掌握了一定的技巧之后将使你事半功倍。 (1) 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。 (2) 非法测试,例如在输入数字的地方输入字…

【Unity】优化UGUI 滚动条ScrollRect(高效复用)

最近忙于性能优化,深切体会到二八法则真是指导高(tou)效(lan)工作的有力武器。这个礼拜花了几天解决了一个实际问题:UGUI的ScrollRect加载太多物体的时候,第一次弹出界面会非常卡顿,而且不在界面里的内容依然会参与绘制(毫无意义的…

vue 切换页面没有改变滚动条_Vue真是太好了 壹万多字的Vue知识点 超详细!

1⃣️、Vue和其他两大框架的区别 Angular 学习成本太高React 代码可读性差Vue 学习成本较低 很容易上手VUE官方: https://cn.vuejs.org/v2/guide/comparison.html ️2⃣️、Vue是什么 Vue是一套用于构建用户界面的渐进式框架 "前端框架"让程序员脱离自己操作DOM 专注…

前端低代码平台腾讯云微搭使用文档

腾讯云微搭 调研报告 之前作者有写过一个同类低代码平台调研报告 H5-Dooring 点击查看,这次我们去尝试使用腾讯系低代码平台,文中也会增加两者之间的差异对比和使用体验上的区别。 1. 简介 1.1 概述 腾讯云微搭低代码是一个高性能的低代码开发平台&a…

Android Patch方案与持续交付

Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度,每次发布一个版本对于开发同学来讲都是一种漫长的煎熬。相比于 iOS 两三天就能达到 80% 的覆盖速度而言,Android 应用版本升级至少需要两周才能达到 80%…

element-ui el-table组件添加height属性后滚动条被顶下去一截

el-table 组件添加了height属性,数据行数超标,出现滚动条; 同时给table中的一列添加了 fixed“right” 这个属性,然后又在项目里自定义了滚动条样式,这个滚动条跟固定列会被挤下去,造成错位的bug。建议去掉…

已解决:element Table 滚动条首次进入不显示、偶尔切换页面后不显示,刷新当前页或改变窗口才显示

记录一下在项目中遇到的问题,困扰了几天最终解决了。 一、问题:element Table 滚动条首次进入不显示、偶尔切换页面后不显示,刷新当前页或改变窗口才显示。 1、首次进入的效果 可以看到滚动条并没有渲染出来,但是刷新页面或者改…

Android Patch 方案与持续交付

Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度,每次发布一个版本对于开发同学来讲都是一种漫长的煎熬。相比于 iOS 两三天就能达到 80% 的覆盖速度而言,Android 应用版本升级至少需要两周才能达到 80%…

js表格冻结列滚动条同步滚动

用div css写的table表格怎么实现冻结某列&#xff0c;同时实现数据滚动条滚动的时候&#xff0c;表头也跟着滚动呢&#xff1f; 效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><style>.f…

损失函数分类

损失函数 机器学习模型关于单个样本的预测值与真实值的差称为损失。损失越小&#xff0c;模型越好&#xff0c;如果预测值与真实值相等&#xff0c;就是没有损失。 损失函数&#xff08;Loss function&#xff09;是用来估量模型的预测值 f(x) 与真实值 Y 的不一致程度&#x…

损失函数总结

1. 概况 损失函数一般分为&#xff1a;0-1 损失函数&#xff0c;HingeLoss&#xff0c;绝对值损失函数&#xff0c;Huber Loss, 平方损失函数&#xff0c;对数损失函数&#xff0c;指数损失。 1. 0-1损失函数(zero-one loss) 0-1损失是指预测值和目标值不相等为1&#xff0…

matlab的损失函数mse,MSELoss损失函数

MSELoss损失函数中文名字就是&#xff1a;均方损失函数&#xff0c;公式如下所示&#xff1a; 这里 loss, x, y 的维度是一样的&#xff0c;可以是向量或者矩阵&#xff0c;i 是下标。 很多的 loss 函数都有 size_average 和 reduce 两个布尔类型的参数。因为一般损失函数都是直…

损失函数Loss Fuction

说说代价函数的作用&#xff1f; 1.为得到训练模型的参数&#xff0c;需要一个代价函数&#xff0c;通过训练代价函数来得到参数。    2.用于找到最优解的目的函数。 说说代价函数为什么要非负&#xff1f; 因为目标函数存在下界&#xff0c;在优化过程当中&#xff0c;如果优…

常用的损失函数

来自 机器学习成长之路公众号 本文将常用的损失函数分为了两大类&#xff1a;分类和回归。然后又分别对这两类进行了细分和讲解&#xff0c;其中回归中包含了一种不太常见的损失函数&#xff1a;平均偏差误差&#xff0c;可以用来确定模型中存在正偏差还是负偏差。 从学习任务…

损失函数设计

目录 1.常见损失函数 1.1 平方损失函数 1.2 绝对值损失函数 1.3 Huber损失函数 1.4 Hinge损失函数 1.5 交叉熵损失函数 1.6 指数损失函数 2.不对称损失函数设计 3.面向容错的损失函数设计 4.评测指标不可导时的损失函数设计 5.没有“Groud Truth“的损失函数设计 6…

如何选择合适的损失函数

【AI科技大本营导读】机器学习中的所有算法都依赖于最小化或最大化某一个函数&#xff0c;我们称之为“目标函数”。最小化的这组函数被称为“损失函数”。损失函数是衡量预测模型预测期望结果表现的指标。寻找函数最小值的最常用方法是“梯度下降”。把损失函数想象成起伏的山…

常用的损失函数合集

目录 一、什么是损失函数&#xff1f; 二、为什么需要损失函数&#xff1f; 三、损失函数通常使用的位置 四、损失函数的分类 五、常用的损失函数 1、回归损失&#xff08;针对连续型变量&#xff09; 1.L1 Loss也称为Mean Absolute Error&#xff0c;即平均绝对误差&…

语义分割的损失函数

语义分割任务实际上是一种像素层面上的分类&#xff0c;需要识别图像中存在的内容和位置&#xff0c;同样也存在与分类类似问题-样本类别不平衡&#xff0c;对于语义分割更多的是前景区域的样本远小于背景区域。针对类别不平衡问题&#xff0c;在loss层面上有不同的选择。 1. …

损失函数简介

损失函数的作用&#xff1a;衡量模型预测的好坏。 简单来说就是&#xff0c;损失函数就是用来表现预测与真实数据的差距程度。 令 真实值 为Y&#xff0c;预测值为 f(x)&#xff0c;损失函数为L( Y , f(x&#xff09;&#xff09;&#xff0c;关系如下&#xff1a; 损失函数&a…