赞
踩
本页面列出了 Android Studio 之前的每个主要版本的新功能和改进。如需了解最新版本的新功能,请参阅当前的 Android Studio 版本说明。
如需了解与发布版本有关的最新资讯(包括每个预览版中的重要修正的列表),请参阅版本更新。如需了解 Android Gradle 插件中的新变化,请参阅其版本说明。
Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 Android Gradle 插件版本。
如果您的项目不受某个特定版本的 Android Studio 支持,您仍然可以使用旧版 Android Studio 打开和更新您的项目。
Android Studio 版本 | 所需插件版本 |
---|---|
Flamingo | 2022.2.1 | 3.2-8.0 |
Electric Eel | 2022.1.1 | 3.2-7.4 |
Dolphin | 2021.3.1 | 3.2-7.3 |
Chipmunk | 2021.2.1 | 3.2-7.2 |
Bumblebee | 2021.1.1 | 3.2-7.1 |
Arctic Fox | 2020.3.1 | 3.1-7.0 |
如需了解 Android Gradle 插件的新变化,请参阅 Android Gradle 插件版本说明。
动画预览支持 animatedVisibility
Android Studio Chipmunk 支持在动画预览中使用 animatedVisibility API。如需将动画预览与 animatedVisibility
搭配使用,请使用 Compose 版本 1.1.0 或更高版本。如需详细了解动画预览,请参阅动画。
支持从“库模块”部署预览对象
通过使用预览功能,您无需在实体设备上运行应用,即可在 Android Studio 中查看应用界面。在 Android Studio Chipmunk 中,您可以将特定 @Preview
从“库模块”部署到模拟器或实体设备。如需了解详情,请参阅部署预览对象。
在 Android 12 及更高版本上检测卡顿
对于使用 Android 12 或更高版本的设备,已捕获的跟踪记录会显示在 CPU 性能分析器中 Display 窗格下的 Janky frames 轨道中。
如需检测卡顿,请按以下步骤操作:
在 Android Studio 中,依次选择 View > Tool Windows > Profiler,或点击工具栏中的 Profile 图标
。
如果 Select Deployment Target 对话框显示提示,请选择要将您的应用部署到哪个设备以进行性能分析。如果您已通过 USB 连接设备但系统未列出该设备,请确保您已启用 USB 调试。
点击 CPU 时间轴上的任意位置以打开 CPU 性能分析器。
您应该会在 Display 下方看到 Janky frames 轨道。默认情况下,性能分析器只会将卡顿帧显示为有待调查的候选对象。在每个卡顿帧中,红色部分突出显示了相应帧超出其渲染截止时间的时长。
发现卡顿帧后,点击该帧;可根据需要按 M 键调整缩放程度以聚焦到所选帧。相关事件将在以下主线程中突出显示:RenderThread 和 GPU completion。
通过选中或取消选中 All Frames 和 Lifecycle 复选框,您可以根据需要查看所有帧或渲染时间的细分数据。
如需了解详情,请参阅界面卡顿检测。
以下是 Android Studio Chipmunk 中的补丁版本列表。
本次要更新包含以下更新和 bug 修复:
Android 平台支持
借助 Android Studio Chipmunk 补丁 2 和 Android Gradle 7.2.2,您可以通过设置 compileSdk=33
针对 Android 13 API 进行编译。支持的最低 SDK 版本最高可为 32。在 Android Gradle 插件 7.3.0-beta05 之前,不支持 minSdk = 33
。
已修复的问题 | ||||||||
---|---|---|---|---|---|---|---|---|
C++ 调试程序 |
| |||||||
设计工具 |
| |||||||
Dexer (D8) |
| |||||||
Gradle |
| |||||||
导入/同步 |
| |||||||
缩减器 (R8) |
|
本次要更新包含以下 bug 修复:
已修复的问题 | |||
---|---|---|---|
Dexer (D8) |
| ||
IntelliJ |
| ||
运行 |
| ||
缩减器 (R8) |
|
Android Studio Bumblebee 是一个主要版本,包含以下功能和改进。
从 Android Studio Bumblebee 开始,互动式预览功能默认处于启用状态。借助互动式预览,您可以与预览互动,就像在设备上操作一样。互动式预览处于沙盒环境中,并与其他预览相互隔离,您可以在其中点击元素并在预览中输入用户输入。通过这种模式,您可以快速测试可组合项的不同状态和手势,例如勾选或清空复选框。
预览互动模式直接在 Android Studio 中运行,并未运行模拟器,因此存在一些限制:
动画形式的矢量可绘制对象工具使您能够预览动画形式的可绘制资源。此工具可帮助您在 Android Studio 中预览 <animation-list>
、<animated-vector>
和 <animated-selector>
资源,使您能够更轻松地优化自定义动画。
为了简化针对各种 Android 设备设计应用的流程,我们在各种设计工具窗口(例如布局编辑器和布局验证)中更新了设备选择器,其中包含的参考设备能反映每种设备外形规格的热门尺寸。从手机到平板电脑,从 Wear 设备到 Android TV,您现在可以更轻松地在最能代表真实设备大小的屏幕上预览、验证或修改布局。
您可以从 Android Studio Bumblebee 针对 Kotlin Multiplatform (KMP) 项目运行测试。
为了确保测试从 Android Studio 成功运行,您必须满足以下所有要求:
非传递 R 类现在默认处于开启状态。可以将非传递 R 类与 Android Gradle 插件一起使用,以便为具有多个模块的应用构建更快的 build。这样做有助于确保每个模块的 R 类仅包含对其自身资源的引用,而不会从其依赖项中提取引用,从而帮助防止资源重复。这样可以获得较新的 build,以及避免编译的相应优势。
如需使用此功能,请依次转到 Refactor > Migrate to Non-transitive R Classes...。
对于在 Apple Silicon (arm64) 硬件上使用 macOS 的用户,自去年以来,Android Studio Arctic Fox 和 Android 模拟器已支持这种新架构。不过,在此版本中,我们已将 Android SDK 平台工具 v32.0.0(包含 adb 和 fastboot)和构建工具 v32.1.0(包含 aapt)更新为通用二进制文件,这样 Android 开发者工具不再需要 Rosetta 二进制转译器既可运行。请参阅 SDK 平台工具版本说明。
捕获布局层次结构快照
借助布局检查器,您现在可以保存正在运行应用的布局层次结构快照,以便轻松地与他人分享或日后查看。
快照会捕获您在使用布局检查器时通常会看到的数据,包括布局的详细 3D 渲染、视图的组件树、Compose 或混合布局,以及每个界面组件的详细属性。如需保存快照,请执行以下操作:
*.li
扩展名保存文件。如需加载布局检查器快照,您需要从主菜单栏中依次选择 File > Open,然后打开 *.li
文件。
支持检查 Compose 语义
在 Compose 中,Semantics 以无障碍服务和测试框架可以理解的替代方式描述您的界面。在 Android Studio Bumblebee 中,您现在可以使用布局检查器检查 Compose 布局中的语义信息。
选择 Compose 节点时,请使用 Attributes 窗口检查它是否直接声明语义信息以及/或者是否合并其子元素中的语义。如需快速识别哪些节点包含已声明或合并的语义,请在 Component Tree 窗口中选择 View options 下拉菜单,然后选择 Highlight Semantics Layers。这样只会突出显示树中包括语义的节点,您可以使用键盘在节点之间快速导航。
避免重启 Activity
将布局检查器连接到旧版 Android Studio 上正在运行的应用会导致应用的 Activity 重启。设置设备标记以检查应用布局时,必须这样。
在 Android Studio Bumblebee 中,您可以通过以下任一步骤提前设置此标记,从而避免在连接布局检查器时重启 Activity:
启用 Run Configuration 选项
从命令行设置此标记:
adb shell settings put global debug_view_attributes_application_package <my_package_name>
注意:在不使用布局检查器的情况下设置此设备标记可能会影响应用的性能,虽然通常并不明显。
文档布局检查器快照
您现在可以捕获应用布局层次结构的快照,以便保存、分享或日后检查。快照会捕获您在使用布局检查器时通常会看到的数据,包括布局的详细 3D 渲染、视图的组件树、Compose 或混合布局,以及每个界面组件的详细属性。检查正在运行的应用的布局时,点击布局检查器工具栏中的 Export snapshot 图标
,并以 *.li
扩展名的形式保存快照。然后,您可以通过以下方式加载布局检查器快照:从主菜单栏中依次选择 File > Open,然后打开 *.li
文件。快照会显示在编辑器窗口的标签页中,便于您轻松将其与正在运行的应用进行比较。
Android Studio Bumblebee 在 App Inspection 窗口中新增了一些工具和功能。您可以从主菜单栏中依次选择 View > Tool Windows > App Inspection,打开 App Inspector。
Network Inspector
Profilers 工具窗口中的网络性能分析器现已移至 App Inspection 工具窗口。如果您之前使用过网络性能分析器,则所有相同的功能和丰富的网络流量数据仍然可用。只需将您的应用部署到搭载 API 级别 26 及更高级别的设备上,然后依次打开 App Inspector > Network Inspector 标签页即可。
检查作业、警报和唤醒锁
现在,除了支持检查工作器外,您还可以使用后台任务检查器检查应用的作业、警报和唤醒锁。现在,每种类型的异步任务都会显示在检查器标签页的相应标题下,便于您轻松监控其状态和进度。与工作器类似,您可以在 Task Details 面板中选择相应作业、警报或唤醒锁,以检查其详细信息。
注意:此功能已从能耗性能分析器中迁出。因此,现在您应该使用后台任务检查器检查应用的所有异步任务。
由于工作器在后台使用作业和唤醒锁,因此工作器调度的这些任务会显示为每个工作器的子级。请注意,您只能在图表模式下看到工作器。
Android Studio Bumblebee 支持在搭载 Android 11 及更高版本的设备上使用无线调试功能。无需使用 USB 线或使用命令行管理 Android 调试桥 (adb) 连接,即可通过 Wi-Fi 从 Android Studio 配对和部署应用。如需使用此功能,请找到设备选择菜单中的 Pair devices using Wi-Fi 选项,并选择一个二维码或配对 PIN 码。然后,在 Android 11 及更高版本的设备上,在开发者选项下,找到无线调试屏幕,接着通过 Android Studio 初始化并与 adb 会话进行无线连接。如需详细了解无线调试设置,请参阅通过 Wi-Fi 连接到设备 (Android 11+)。
Android Gradle 插件 7.1.0 和 Android Studio Bumblebee 及更高版本使用 Gradle 自己的 Android 插桩测试运行程序实现来运行插桩测试。如果同样使用这个测试运行程序,那么无论您是使用 AGP 从命令行运行测试(例如在持续集成服务器上),还是从 Android Studio 运行测试,结果很可能是一致的。
以前版本的 Android Studio 使用 IntelliJ Android 插桩测试运行程序,而非 Gradle 的 Android 插桩测试运行程序。因此,如果您使用的不是最新版本的 Android Studio,可能会看到不同的测试结果(具体取决于您是从 Android Studio 运行测试,还是使用 Gradle 插件从命令行运行测试),例如在使用一个运行程序时测试结果为通过,而在使用另一个运行程序时则为失败。
如果您已将插桩测试配置保存到项目中,它们将使用 Gradle 在您连接的设备上运行测试。您可以使用测试类或方法旁边的边线操作创建新的插桩测试配置,如下所示。
运行插桩测试时,您可以通过检查 Test Matrix for Gradle 任务输出中的测试输出,来确认 Android Studio 使用的是不是 Gradle 测试运行程序。尽管我们在针对 Android Studio 的每个版本改进此功能,但仍存在一些已知问题。如果您遇到问题,请报告 bug。您还可以停用新的测试流水线,以还原到旧行为。
Android 模拟器现在默认直接在 Android Studio 中运行
默认情况下,Android 模拟器会直接在 Android Studio 中运行。这样,您就可以节省屏幕空间,使用热键在模拟器窗口和编辑器窗口之间快速导航,并在单个应用窗口中整理 IDE 和模拟器工作流。
当模拟器运行时,您将能够使用常见模拟器操作(如旋转),以及扩展控制选项(如导航播放)。如需在单独的窗口中运行模拟器,请依次转到 File > Settings > Tools > Emulator(在 macOS 设备中则依次转到 Android Studio > Preferences > Tools > Emulator),并取消选择 Launch in a tool window。
停用新的测试流水线
默认情况下,Android Studio Bumblebee 会使用 Gradle 运行其插桩测试。如果您遇到问题,可以按以下方法停用此行为:
您还可以通过执行以下操作之一来还原到之前的行为:
-Pandroid.experimental.androidTest.useUnifiedTestPlatform=false
gradle.properties
文件中:android.experimental.androidTest.useUnifiedTestPlatform=false
为了帮助解决您可能遇到的问题,请报告 bug。
设备管理器是 AVD 管理器的替代工具,可在 Android Studio 的欢迎屏幕上或在打开项目后找到。设备管理器引入了一些新功能,可让您更轻松地创建和管理所有本地测试设备,例如:
要打开新的设备管理器,请执行以下操作之一:
注意:您目前只能通过欢迎屏幕创建和管理虚拟设备。
使用搭载 Android 11(API 级别 30)或更高版本的设备分析应用性能时,CPU 性能分析器现在会显示一组新的轨迹,描述了 Frame Lifecycle 下每个帧的阶段:Application、Wait for GPU、Composition 和 Frames on display。每个轨迹都通过帧编号标记帧,并用颜色标示矩形,便于您直观了解特定帧处在其生命周期的哪个阶段,并提供了可切换的辅助线,便于您与 Vsync 事件进行对比。您可以通过此数据了解应用中可能出现卡顿的位置,并调查根本原因。在 Analysis 面板中,现在有一个 Frames 标签页,可以方便地汇总所有帧的渲染信息。如需了解详情,请参阅界面卡顿检测。
在对应用进行性能分析时,请务必使用与您的用户将安装的应用版本最相符的应用版本生成准确的数据。为此,您现在可以在应用清单中包含 <profileable> 属性,以对不可调试的应用进行性能分析,如以下代码所示。
<profileable android:shell="true"/>
“可分析”是 Android 10 中引入的清单配置,可用于 CPU 和内存性能分析任务。使用可分析标记代替可调试标记具有降低性能衡量开销的关键优势;不过,某些性能分析功能(例如 Event 时间轴、API 发起的 CPU 性能分析、堆转储或实时位置记录)不适用于可分析 build。如需了解详情,请参阅可分析应用。
现在,在性能分析器工具窗口中检查调用堆栈示例记录时,您可以收起与调查无关的帧。调用堆栈有助于您了解已执行代码的哪个部分,以及调用该部分的原因。不过,Java/Kotlin 程序的调用堆栈通常不仅包含 Java/Kotlin 代码,还包含来自原生代码的帧,可能会对用户造成干扰。如需详细了解如何优化调用堆栈视图,请参阅检查调用堆栈帧。
以下是 Android Studio Bumblebee 中的补丁版本列表。
Android Studio Bumblebee | 2021.1.1 补丁 3(2022 年 4 月)
本次要更新包含以下 bug 修复:
versionNameSuffix
将无法正常运行TrackedHttpURLConnection.getHeaderField
会崩溃并出现 NullPointerException
如需了解详情,请参阅 Android Studio Bumblebee 补丁 3 博文。
Android Studio Bumblebee | 2021.1.1 补丁 2(2022 年 2 月)
本更新包含以下 bug 修复:
如需了解详情,请参阅 Android Studio Bumblebee 补丁 2 博文。
Android Studio Bumblebee | 2021.1.1 补丁 1(2022 年 2 月)
本次要更新包含以下 bug 修复:
如需了解详情,请参阅 Android Studio Bumblebee 补丁 1 博文。
Android Studio Arctic Fox 是一个主要版本,包含以下功能和改进。
Android Studio Arctic Fox | 2020.3.1 补丁 4(2021 年 12 月)
本次要更新包含以下 bug 修复:
VariantOutput.verison
设置 Provider
可能会因为配置缓存而中断gradeResValues.xml
java.lang.ClassCastException
java.lang.VerifyError
:验证程序验证失败,因为无法从 Reference.java.lang.Object
类型的对象访问实例字段MediaCapabilities
lint 检查shrinkResources
后,Lint 会报告假正例[可实例化]错误如需了解详情,请参阅 2020.3.1 补丁程序 4 博文。
Android Studio Arctic Fox | 2020.3.1 补丁程序 3(2021 年 10 月)
本次要更新包含以下 bug 修复:
gradleApi()
依赖项BundleLibraryClassesInputs
JniReferencesSearch
计算时界面会卡顿Cannot constrain type
错误如需了解详情,请参阅 2020.3.1 补丁程序 3 博文。
Android Studio Arctic Fox | 2020.3.1 补丁程序 2(2021 年 9 月)
本次要更新包含以下 bug 修复:
如需了解详情,请参阅 2020.3.1 补丁程序 2 博文。
Android Studio Arctic Fox | 2020.3.1 补丁程序 1(2021 年 8 月)
此更新修复了以下问题:
如需了解详情,请参阅 2020.3.1 补丁程序 1 博文。
更新了 Android Studio 的版本编号系统
我们更改了 Android Studio 的版本编号系统,使其与 IntelliJ IDEA(Android Studio 所基于的 IDE)更一致。
在以前的编号系统中,此版本应为 Android Studio 4.3 或 4.3.0.1。采用全新的编号系统后,现在版本为 Android Studio - Arctic Fox | 2020.3.1 或 2020.3.1。
Intellij 版本 | 旧名称 | 旧 - 编号系统 | 新 - 年份系统 | 新版本名称 |
---|---|---|---|---|
2020.3 | 4.3 | 4.3.0 | 2020.3.1 | Arctic Fox | 2020.3.1 |
今后,Android Studio 版本号的确定方式如下:
<Year of IntelliJ Version>.<IntelliJ major version>.<Studio major version>.<Studio minor/patch version>
更新了 Android Gradle 插件的版本编号系统
我们更新了 Android Gradle 插件 (AGP) 的版本编号系统,以使其更接近底层 Gradle 构建工具。因此,AGP 7.0 是继 AGP 4.2 之后的下一个版本。
如需了解详情,请参阅 AGP 版本说明中的版本编号变更。
最新版本的 Android Gradle 插件包含许多更新。如需了解详情,请阅读完整的 Android Gradle 插件版本说明。
为提高测试作业的总体一致性,现在 Android Studio 在默认情况下使用 Gradle 运行所有单元测试。在很多情况下,此更改不会影响 IDE 中的测试工作流。
例如,当您点击上下文菜单中的 Run 命令(在您右键点击测试类时可见)或对应的边线操作
时,Android Studio 将默认使用 Gradle 运行配置来运行单元测试。
但是,Android Studio 不再识别现有的 Android JUnit 运行配置,因此您应将可能另存为项目文件的 Android JUnit 运行配置迁移到 Gradle 运行配置。
如需创建 Gradle 测试配置,请按照创建新的运行/调试配置中的说明选择 Gradle 模板。创建新配置后,配置会显示在 Gradle 部分的 Edit Configurations 对话框中:
如果您要检查不再识别的 Android JUnit 配置,可以执行以下两种操作之一:
<my-app>/.idea/runConfigurations/
中。在 <my-app>/.idea/workspace.xml
中查找临时配置,并在 <component name="RunManager" ...>
节点下查找。例如:
- <component name="RunManager" selected="Gradle.PlantTest">
- …
- <configuration name="PlantTest" type="AndroidJUnit" factoryName="Android JUnit" nameIsGenerated="true">
- <module name="Sunflower.app" />
- <useClassPathOnly />
- <extension name="coverage">
- <pattern>
- <option name="PATTERN" value="com.google.samples.apps.sunflower.data.*" />
- <option name="ENABLED" value="true" />
- </pattern>
- </extension>
- <option name="PACKAGE_NAME" value="com.google.samples.apps.sunflower.data" />
- <option name="MAIN_CLASS_NAME" value="com.google.samples.apps.sunflower.data.PlantTest" />
- <option name="METHOD_NAME" value="" />
- <option name="TEST_OBJECT" value="class" />
- <option name="PARAMETERS" value="" />
- <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
- <method v="2">
- <option name="Android.Gradle.BeforeRunTask" enabled="true" />
- </method>
- </configuration>
您可以使用新增的后台任务检查器直观呈现、监控和调试应用的后台工作器。如需开始使用,请将您的应用部署到搭载 WorkManager 库 2.5.0 或更高版本的设备中,然后从菜单栏中依次选择 View > Tool Windows > App Inspection。
点击工作器可查看更详细的信息。例如,可以查看工作器的说明、执行方式、工作器链的详细信息以及执行结果。
还可以从表中选择一个工作器并点击工具栏上的 Show Graph View 图标
,查看工作器链的直观呈现形式。然后,可以选择链中的任意工作器以查看其详细信息,如果某工作器当前已加入队列或正在运行,还可停止运行该工作器。如需返回表,请点击 Show List View 图标 。
为帮助调查执行失败的工作器出现的问题,您可以停止当前正在运行或已加入队列的工作器,方法是从表中选择相应工作器,然后点击工具栏中的 Cancel Selected Worker 图标
。您还可以使用 All tags 下拉菜单,根据您为工作器分配的标记来过滤表中的工作器。
Database Inspector 现已包含在新的 App Inspection 工具窗口中,在该窗口中,您还可以找到新的后台任务检查器。从工具窗口栏打开 App Inspection 工具窗口,或从菜单栏依次选择 View > Tool Windows > App Inspection。
从 Database Inspector 中导出数据
在 Arctic Fox 中,您可以轻松地从 Database Inspector 中导出数据库、表和查询结果,以便在本地保存、共享或重新创建。在 Android Studio 中打开一个应用项目并在 Database Inspector 中检查该项目的应用时,可以采用以下任一方法开始导出数据:
选择导出操作后,请使用 Export 对话框帮助您完成最后的步骤,如下所示。根据是否需要尝试导出数据库、表或查询结果,可以选择使用以下一种或多种格式导出数据:DB、SQL 或 CSV。
我们整合了内存分析器界面 (UI),用于不同的录制活动,例如捕获堆转储和录制 Java、Kotlin 以及原生内存分配。
内存分析器提供以下选项:
三个选项的使用方式如下:
如需捕获堆转储,请选择 Capture heap dump,然后选择 Record。在分析器捕获堆转储后,内存分析器界面将转换到显示堆转储的单独屏幕上。
如需在搭载 Android 10 及更高版本的设备上录制原生分配情况,请选择 Record native allocations,然后选择 Record。录制会持续到您点击 Stop 图标
后,内存分析器界面会转换到显示原生录制的单独屏幕。
在 Android 9 及更低版本中,Record native allocations 选项不可用。
如需录制 Java 和 Kotlin 分配情况,请选择 Record Java / Kotlin allocations,然后选择 Record。如果设备搭载的是 Android 8 或更高版本,则内存分析器界面将转换为显示正在进行录制的单独屏幕。可以与录制上方的迷你时间轴进行交互(例如,更改选择范围)。如需完成录制,请选择 Stop 图标
。
在 Android 7.1 及更低版本上,内存分析器使用旧版分配录制功能,它会在时间轴上显示录制,直到您点击 Stop。
我们已将与配置无关的文件从 .cxx/
文件夹移到了 build/
文件夹中。CMake C++ 构建需要一个配置阶段,该阶段生成用于执行编译和链接步骤的 Ninja 项目。由 CMake 生成的项目开销高昂,并且在 Gradle 清除操作后仍应保留下来。因此,它们会存储在 build/
文件夹旁的 .cxx/
文件夹中。通常,Android Gradle 插件会注意到配置变更,并自动重新生成 Ninja 项目。然而,并非所有情况都能被检测到。如果发生未被检测到的情况,可以使用“Refresh Linked C++ Project”选项手动重新生成 Ninja 项目。
现在可以在多台设备上并行运行插桩测试,并且可以使用专门的插桩测试结果面板进行调查。利用此面板,可以确定测试失败的原因在于 API 级别还是硬件属性。
为确保所有用户都获得良好的应用使用体验,最好的方法之一就是采用各种 API 级别和设备类型测试您的应用。
为了充分利用这项功能,请执行以下操作:
在 IDE 正上方的目标设备下拉菜单中选择 Select Multiple Devices。
选择目标设备,然后点击 OK。
运行测试。
如需在 Run 面板中查看测试结果,请依次转到 View > Tool Windows > Run。
使用新的测试结果面板,您可以按状态、设备和 API 级别过滤测试结果。此外,您还可以点击各列的标题对列进行排序。点击单个测试,可以单独查看每种设备的日志和设备信息。
StateFlow
支持对于使用协程的 Kotlin 应用,您现在可以使用 StateFlow 对象作为数据绑定来源,自动将数据变化通知给界面。数据绑定将具有生命周期感知能力,并且仅在屏幕上显示界面时才会触发。
如需将 StateFlow
对象与绑定类一起使用,需要指定生命周期所有者,以定义 StateFlow
对象的范围,并在布局中使用绑定表达式将 ViewModel
组件的属性和方法分配给相应的视图,如下面的示例所示:
- class ViewModel() {
- val username: StateFlow<String>
- }
- <TextView
- android:id="@+id/name"
- android:text="@{viewmodel.username}" />
如果您当前正在使用运行 AndroidX 的 Kotlin 应用,StateFlow
支持将自动包含在数据绑定功能(包括协程依赖项)中。
如需了解详情,请参阅使用可观察的数据对象。
我们改进了建议导入的内容功能支持的库数量,并更频繁地更新索引。建议导入的内容功能可帮助您快速轻松地将某些 Google Maven 工件导入类和 Gradle 项目。当 Android Studio 检测到来自某些 Google 库的未解析符号时,IDE 会建议将相应的库导入该类和项目中。
现在,Build Analyzer 可以识别项目何时没有启用配置缓存,并将其作为优化建议提供。Build Analyzer 在启用项目配置缓存前,会运行兼容性评估,以告知您项目中的配置缓存是否存在任何问题。
适用于 Android Gradle 插件的升级助理现在有一个持久性工具窗口,其中列出了将完成的步骤列表。 工具窗口的右侧还会显示其他信息。如有需要,还可以选择其他 AGP 版本进行升级。点击 Refresh 按钮将更新相应的更新步骤。
可以将非传递 R 类与 Android Gradle 插件一起使用,以便为具有多个模块的应用构建更快的 build。这样做有助于确保每个模块的 R 类仅包含对其自身资源的引用,而不会从其依赖项中提取引用,从而帮助防止资源重复。这样可以获得较新的 build,以及避免编译的相应优势。
如需使用此功能,请依次转到 Refactor > Migrate to Non-transitive R Classes。
注意:以前,将非传递 R 类与 AGP 结合使用的选项仅适用于库。现在,在 AGP 4.2 及更高版本中,此选项适用于所有模块。
我们现已对使用 Jetpack Compose 的预览和测试应用提供额外的支持。为了在使用 Jetpack Compose 进行开发时获得最佳体验,您应使用最新版本的 Android Studio Arctic Fox,以便从智能编辑器功能中受益,这些功能包括“新建项目”模板以及即时预览 Compose 界面等。
Compose 预览
@Preview 方法现在提供以下参数:
互动式预览
可以使用此功能与界面组件交互,点击组件并查看状态如何变化。通过这种方式,可以快速获得有关界面如何反应的反馈,并可快速预览动画。如要启用此模式,只需点击 Interactive 图标
,系统即会切换预览模式。
如需停止此模式,请点击顶部工具栏中的 Stop Interactive Preview。
部署到设备
可以使用此功能将界面代码段部署到设备。这有助于测试设备中的一小部分代码,而无需启动整个应用。
点击 @Preview
注解旁边或预览顶部的 Deploy to Device 图标
,Android Studio 会将该 @Preview 部署到连接的设备或模拟器上。
实时修改字面量
我们添加了实时编辑文本功能,以帮助使用 Compose 的开发者快速编辑代码中的文本(字符串、数字、布尔值),并立即查看结果,而无需等待编译。此功能的目标是在预览、模拟器或物理设备中近乎即时地显示代码更改,从而帮助提高工作效率。
通过布局检查器,可以深入了解在连接设备上运行的应用布局的相关详细信息。在该工具中,您可以与您的应用交互并查看实时更新,以快速调试可能出现的问题。
可以检查使用全新 Android 声明式界面框架(即 Jetpack Compose)编写的布局。无论您的应用是使用完全用 Compose 编写的布局,还是使用 Compose 和 View 的混合布局,布局检查器都可以帮助您了解您的布局如何在正在运行的设备上渲染。
使用入门
如需开始使用,请将您的应用部署到连接的设备上,然后通过依次选择 View > Tool Windows > 布局检查器 打开 布局检查器 窗口。如果布局检查器未自动连接到您的应用进程,请从进程下拉菜单中选择所需的应用进程。您应该很快就会在工具窗口中看到应用的布局。如需开始检查 Compose 布局,请选择渲染中显示的布局组件,或从 Component Tree 中选择该组件。
Attributes 窗口会显示有关当前所选 Compose 函数的详细信息。在该窗口中,您可以检查函数的参数及其值,包括修饰符和 lambda 表达式。对于 lambda 表达式,检查器提供了一个快捷方式,可帮助您导航到源代码中的表达式。
布局检查器会显示调用堆栈中所有用于向应用的布局发送组件的 Compose 函数。在许多情况下,这包括 Compose 库在内部调用的 Compose 函数。如果只想在应用直接调用的 Component Tree 中看到 Compose 函数,请点击过滤器
操作,这可能有助于将树中的节点数量减少为您可能要检查的节点数量。
设备下拉菜单现在会区分所选设备配置中的不同类型的错误。图标和样式的变更现在分成了错误(导致配置失败的设备选择)和警告(可能导致意外行为但仍可运行的设备选择)。
此外,如果尝试将项目启动到存在相关错误或警告的设备,Android Studio 将发出警告。
新增的 Wear OS 配对助理直接在 Android Studio 中逐步引导开发者将 Wear OS 模拟器与实体或虚拟手机配对。该配对助理可以帮助您在手机上安装正确的 Wear OS Companion 应用,并在两台设备之间建立连接。如需开始使用,请依次转到 device dropdown > Wear OS Emulator Pairing Assistant。
Android Studio Arctic Fox 现在包含一个全新的布局模板,该模板可以适应不同的显示尺寸和应用大小(例如手机、可折叠设备、平板电脑和分屏模式)。创建新项目或模块时,请选择 Responsive Activity 模板,以创建包含可动态调整大小的组件布局。
如需开始使用,请转到 File > New,选择 New Project 或 New Module 中的任意一项,然后选择 Responsive Activity 模板。
本部分将介绍 Android Studio Arctic Fox 当前已知的问题。
补丁程序无法在安装了 v3.6-v4.1 的 Windows 上正常使用
补丁程序可能无法在安装了从 v3.6-v4.1 到 Android Studio Arctic Fox 稳定版的 Windows 平台上正常使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。