Android Studio Arctic Fox 正式版发布,快来了解下吧!

为了提高测试执行的整体一致性,Android Studio 现在默认使用 Gradle 运行所有单元测试,当然在一般情况下,此更改不会影响在 IDE 中的测试工作流。

例如,当单击上下文菜单中的 「Run」 命令(在右键单击某个测试类时可见)或其对应的 gutter action 时,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” …> 节点中查找, 例如:

新的后台任务检查器

=====================================================================

可以使用新的 「后台任务检查器」 来可视化、监控和调试应用程序的后台 「工作人员」

首先将应用程序部署到运行 WorkManager Library 2.5.0 或更高版本的设备,然后从菜单栏中选择 「View」 > 「Tool Windows」 > 「App Inspection」

你可以通过单击 worker 查看更多详细信息,例如可以看到 worker 的描述,它是如何执行的,它的 worker 链的细节,以及执行的结果。

你还可以通过从表中选择一个 worker 并单击工具栏中的 「Show Graph View」「查看」 worker 链的可视化,然后可以选择链中的任何工作程序以查看其详细信息,或者如果它当前正在排队或正在运行,你也可以选择停止它。

如果要返回表格,请单击 「Show List View」

为了帮助调查执行失败的工作线程问题,开发者可以通过从表中选择并单击工具栏中的 「Cancel Selected Worker」 线程来停止当前正在运行或排队的工作线程,还可以使用 「All tags」 下拉菜单,通过标签过滤来选择表中的 workers。

从数据库检查器导出数据

=======================================================================

现在开发者可以轻松地从 「Database Inspector」 导出数据库、表和查询结果,以在本地保存、共享或重新创建。

当你在 Android Studio 中打开一个应用程序项目并在 「Database Inspector 中检查」 该项目的应用程序时,你可以通过以下方式之一开始导出数据:

  • 「Databases」 面板中选择一个数据库或表,然后单击面板顶部附近的 「Export to file」

  • 右键单击 「Databases」 面板中的数据库或表,然后从上下文菜单中选择 「Export to file」

  • 在选项卡中检查表或查询结果时,单击表或查询结果上方的 「Export to file」

选择导出操作后,可以使用 「Export」 对话框来帮助完成最后的步骤,如下所示,你可以选择以下列一种或多种格式导出数据:DB、SQL 或 CSV。

Updated UI for recording in Memory Profiler

=======================================================================================================

我们为不同的记录活动整合了 Memory Profiler 用户界面 (UI),例如捕获堆转储和记录 Java、Kotlin 和本机内存分配。

该 Memory Profiler 提供了以下选项:

  • 「Capture heap dump」:查看应用程序中在特定时间点使用内存的对象。

  • 「Record native allocations」:查看每个 C/C++ 对象在一段时间内是如何分配的。

  • 「Record Java/Kotlin allocations」:查看每个 Java/Kotlin 对象在一段时间内是如何分配的。

以下是如何使用这三个选项:

  • 要捕获堆转储,请选择 「Capture heap dump」,然后选择 「Record」 ,在分析器完成对堆转储的捕获后,内存分析器 UI 将转换到显示堆转储的单独页面。

  • 要在运行 Android 10 及更高版本的设备上使用 「Record native allocations」,请选择 「Record native allocations」 ,然后选择 「Record」 ,而后记录将保持到单击 「Stop」 为止,之后 Memory Profiler UI 将转换为显示 native 记录的单独页面。

在 Android 9 及更低版本上,「Record native allocations」 选项不可用。

  • 要记录 Java 和 Kotlin 分配,请选择 「Record Java / Kotlin allocations」,然后选择 「Record」。如果设备运行的是 Android 8 或更高版本,Memory Profiler UI 将转换为显示正在进行的记录的单独页面,开发者可以与记录上方的迷你时间线进行交互(例如,更改选择范围),而如果要完成录制,可以选择 「Stop」

在 Android 7.1 及更低版本上,内存分析器使用传统分配记录,它会在时间线上显示记录,直到单击 「Stop」

更新链接的 C++ 项目

========================================================================

新版本已将与配置无关的 .cxx/ 文件从文件夹移动到 build/ 文件夹中。

CMake C++ 构建需要一个在配置阶段用于执行编译和链接步骤的 Ninja 项目,通过 CMake 生成的项目成本比较高,所以有望在 gradle clean 中不被清理。

因此,它们存储在文件夹.cxx/ 旁边的一个名为的 build/ 文件夹中,通常 Android Gradle 插件会注意到配置更改并自动重新生成 Ninja 项目。但是并非所有情况都可以检测到,发生这种情况时,可以使用 “Refresh Linked C++ Project” 选项手动重新生成 Ninja 项目。

用于多设备测试的新测试矩阵

=========================================================================

Instrumentation tests 现在可以在多个设备上并行运行,并且可以使用专门的 Instrumentation tests 结果面板进行调查。使用此面板可以确定测试是否由于 API 级别或硬件属性而失败。

在各种 API 级别和形式因素上测试应用程序,是确保所有用户在使用您的应用程序时获得出色体验的最佳方法之一。

要利用此功能:

  • 1、在 IDE 顶部中心的目标设备下拉菜单中选择 「Select Multiple Devices」

  • 2、选择目标设备并单击 「OK」

  • 3、运行测试。

要在 「Run」 面板中查看测试结果,请转到 「View > Tool Windows > Run」

新的测试结果面板允许按状态、设备和 API 级别过滤测试结果。此外可以通过单击标题对每列进行排序,通过单击单个测试单独查看每个设备的日志和设备信息。

StateFlow 支持数据绑定

============================================================================

对于使用协程的 Kotlin 应用程序,现在可以使用 StateFlow 对象作为数据绑定源来自动通知 UI 数据的变化。数据绑定将具有生命周期感知能力,并且只会在 UI 在屏幕上可见时触发。

要在 StateFlow 绑定类中使用对象,需要指定生命周期所有者来定义 StateFlow 对象的范围,并在布局中 ViewModel 使用绑定表达式将组件的属性和方法分配给相应的视图,如下所示例子:

class ViewModel() {

val username: StateFlow

}

<TextView

android:id=“@+id/name”

android:text=“@{viewmodel.username}” />

如果在使用 AndroidX 的 Kotlin 应用程序中 StateFlow,数据绑定的功能中会自动包含支持,包括协程依赖项。

要了解更多信息,请参阅使用可观察数据对象。

改进了建议的导入

====================================================================

改进了建议导入功能支持的库数量,并更频繁地更新索引。

建议导入可帮助开发者快速轻松地将某些 Google Maven 工件导入类和 Gradle 项目,当 Android Studio 从某些 Google 库中检测到未解析的符号时,IDE 会建议将库导入到类和项目中。

支持构建分析器中的配置缓存

=========================================================================

Build Analyzer现在可识别项目何时未启用配置缓存,并将其作为优化提供。Build Analyzer 运行兼容性评估,以在启用之前通知项目中的配置缓存是否存在任何问题。

改进的 AGP 升级助手

========================================================================

Android Gradle 插件的 升级助手 现在有一个持久的工具窗口,其中包含将要完成的步骤列表。

附加信息也显示在工具窗口的右侧,如果需要还可以选择不同版本的 AGP 进行升级,单击 「Refresh」 按钮更新相应的更新步骤。

非传递性 R 类的重构

=======================================================================

可以将非传递性 R 类与 Android Gradle 插件结合使用,为具有多个模块的应用程序实现更快的构建。

这样做有助于防止资源重复,确保每个模块的 R 类只包含对其自身资源的引用,而不从其依赖项中提取引用。这会带来更多最新的构建以及避免编译的相应好处。

最后

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
Android进阶视频+面试资料部分截图

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
[外链图片转存中…(img-9YvfWiR1-1714290907158)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值