乐趣区

关于android:Android-Studio-41-发布全方位提升开发体验

咱们很快乐公布了 Android Studio 4.1 稳定版,为大家带来一系列针对常见的编辑、调试和优化工作的性能。4.1 版本的重点诉求之一是帮忙您在应用 Android Jetpack 库 (即 Android 的开发库套件) 时遵循最佳实际和晋升代码编写效率。基于大家的反馈,咱们间接在 IDE 中集成了诸多罕用的 Android 库,从而改善了编写代码的体验。

Android Studio 4.1 的一些亮点如下: 引入全新的 Database Inspector,用于查问利用的数据库;反对浏览应用 Dagger 或 Hilt 进行依赖项注入的我的项目;反对在 Android 我的项目中应用 TensorFlow Lite 模型,进一步加强了对设施端机器学习的反对。咱们还对 Apply Changes 进行了更新,以放慢部署速度。咱们依据大家的反馈进行了一些更改,引入了新的原生内存性能分析器和独立剖析工具来为游戏开发者提供助力。

产品质量依然是团队的次要关注点,咱们始终在致力解决谬误和性能问题。从大家的反馈来看,许多开发者非常认同咱们专一于进步性能和可靠性的动作。很快乐地通知大家,在本次公布周期中,咱们修复了 2,370 个谬误,解决了 275 个公共问题。高品质是咱们一贯保持的指标,因为咱们晓得这是进步开发者工作效率的要害。

许多用户在预览版中提供了晚期反馈,在此对大家表示感谢。正是有了各位的反馈,Android Studio 4.1 中的性能才得以迭代和改良。如果您已筹备好应用这个全新的稳固版本,通过一系列全新的性能晋升工作效率,能够在这里 下载 并开始应用。

上面按要害开发流程列出了 Android Studio 4.1 中的所有 新性能。

设计

Material Design 组件更新

当初,创立新我的项目 (New Project) 对话框中的 Android Studio 模板应用 Material Design 组件 (MDC),并且默认反对最新版的主题和款式设计指南。如此一来,开发者能够更轻松地应用举荐的 Material 款式模式,以及反对古代界面性能 (如深色主题)。

△ 我的项目模板中的 Material Design 组件更新

更新包含:

  • MDC: 我的项目应用 build.gradle 中的 com.google.android.material:material。根底利用主题应用 Theme.MaterialComponents 父级,并笼罩更新后的 MDC 色彩和 “on” 属性。
  • 色彩资源 colors.xml 中的色彩资源应用字面名称 (例如,应用 purple_500 而不是 colorPrimary)。
  • 主题资源 : 主题资源位于 themes.xml (而非 styles.xml) 中并应用 Theme.<ApplicationName> 名称。
  • 深色主题 : 根底利用主题应用 DayNight 父级,并分为 res/values 和 res/values-night
  • 主题属性 : 在布局和款式中将色彩资源称为主题属性 (例如 ?attr/colorPrimary),以防止硬编码色彩。

开发

Database Inspector

咱们心愿借助新的 Database Inspector 来简化利用数据库的查看、查问和批改操作。首先,将您的利用部署到运行 API 26 或更高级别的设施,而后从菜单中顺次抉择 View > Tool Windows > Database Inspector。无论您的利用是间接应用 Jetpack Room 开发库还是 Android 平台版本的 SQLite,您当初都能够轻松查看正在运行的利用中的数据库和表,或运行自定义查问。

因为 Android Studio 在您查看利用时会放弃实时连贯,因而您也能够应用 Database Inspector 对数值进行批改,并在运行的利用中查看后果。如果您应用 Room 长久库,Android Studio 还会在代码编辑器的每个查问旁边插入运行按钮,以帮忙您疾速运行在 @Query 注解中定义的查问。您能够浏览 官网文档 理解详情。

△ 应用 Database Inspector 查看、查问和批改利用数据库

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

当初,您能够间接在 Android Studio 中运行 Android 模拟器。此性能有助于节俭屏幕空间,您能够应用热键在模拟器和编辑器窗口之间疾速导航,并在一个利用窗口中组织您的 IDE 和模拟器工作流。您能够在 Studio 中治理快照以及旋转和截图等常见的模拟器操作,但要应用全副性能选项,依然须要应用稳固的模拟器。您能够依照这个菜单门路启用此性能: File → Settings → Tools → Emulator  → Launch in Tool Window

△ 在 Android Studio 中运行 Android Emulator

Dagger 导航反对

Dagger 是 Android 上罕用的依赖项注入库。Android Studio 提供了新的 gutter 操作并扩大了 Find Usages 窗口中的反对,使得在 Dagger 相干代码之间导航更加简略。例如,点击应用给定类型的办法旁边的  gutter 操作,会将您导航到提供该类型的地位。相同,点击  gutter 操作会将您导航到将类型用作依赖项的地位。Android Studio 还反对对应用 Jetpack Hilt 库定义的依赖项执行导航操作。您能够浏览 官网文档 理解详情。

△ 应用 gutter 操作在 Dagger 相干代码之间导航

应用 TensorFlow Lite 模型

目前,Android 开发者纷纷利用机器学习来打造新鲜、实用的体验。TensorFlow Lite 是常见的用于编写挪动端机器学习模型的开发库,咱们心愿简化将这些模型导入 Android 利用的过程。与视图绑定相似,Android Studio 会生成易于应用的类,帮忙您精简运行模型所需的代码并晋升类型安全性。ML Model Binding (ML 模型绑定) 以后的实现反对图像分类和格调转换模型,前提是它们通过元数据失去了加强。

要查看导入模型的详细信息以及如何在利用中应用,请双击我的项目中的 .tflite 模型文件以关上模型查看器页面。您能够浏览 官网文档 理解详情。

△ 在 Android Studio 4.1 中查看 TensorFlow Lite 模型元数据

构建和测试

Android 模拟器 – 可折叠设施铰链信息反对

Android Studio

除了最近新增的 5G 挪动网络测试 性能,咱们还在 Android 模拟器中减少了对可折叠设施的反对。在 Android 模拟器 30.0.26 及更高版本中,您能够应用多种折叠设计和配置对可折叠设施进行设置。设置结束后,模拟器将提供铰链角度传感器和姿势变动信息,不便您测试利用在这些机型上的响应状况。请参阅博文《[应用 Android 模拟器在 Android 11 上进行开发](https://medium.com/androiddev…
)》理解更多。

Apply Changes 更新

更快的构建有助于开发者更轻松、疾速地更改利用。为了帮忙您进步利用迭代效率,咱们对 Android 11 或更高版本设施的 Apply Changes 进行了多项加强。

咱们在优化迭代速度上进行了鼎力投入,开发出一种无需装置利用即可在设施上部署和保留更改的办法。当初,在实现初始部署后,通过 Apply Code Changes 或 Apply Changes and Restart Activity 对 Android 11 设施进行后续部署的速度大幅晋升。咱们还在 Apply Changes 中 减少了对其余代码更改的反对。当初,在您增加一个办法后,可点击 Apply Code Changes 或 Apply Changes and Restart Activity 按钮将这些更改部署到正在运行的利用中。

从 AAR 中导出 C/C++ 依赖项

Android Gradle Plugin 4.0 减少了 在 AAR 依赖项中导入 Prefab 软件包 的性能。咱们心愿扩大此性能以共享原生库。AGP 4.1 反对在 Android 库我的项目的 AAR 中从内部原生构建中导出库。要导出原生库,请将以下内容增加到库我的项目 build.gradle 文件的 android 块中:

buildFeatures {prefabPublishing true}

prefab {
    mylibrary {headers "src/main/cpp/mylibrary/include"}

    myotherlibrary {headers "src/main/cpp/myotherlibrary/include"}
}

原生代码解体报告符号化解析

当原生代码产生解体或 ANR 时,零碎会生成堆栈轨迹,即程序解体前所调用的嵌套函数序列的快照。这些快照能够帮忙您辨认和修复源代码中的问题,然而必须首先将它们符号化,以将计算机地址转换回人类可读的函数名。

如果您的利用或游戏是应用 C++ 之类的原生代码开发的,那么您当初能够将每个版本利用的调试符号文件上传到 Play 管理中心。Play 管理中心应用这些调试符号文件来符号化您利用的堆栈轨迹,从而简化解体和 ANR 剖析。如果要将调试符号蕴含在 App Bundle 中,请将下方内容增加到我的项目的 build.gradle 文件中:

android.buildTypes.release.ndk.debugSymbolLevel = 'SYMBOL_TABLE'

优化

System Trace 界面改良

在 Android Studio 4.1 中,咱们对 System Trace 进行了全面改良,该优化工具可让您实时理解利用对系统资源的应用状况。通过框选模式还能够更轻松地抉择跟踪记录,此外,咱们还增加了新的剖析标签页,并增加了更多的帧渲染数据,以帮忙您考察利用界面中的渲染问题。您能够浏览 官网文档 理解详情。

框选 : 在 Threads 局部中,您当初能够拖动鼠标来框选一个矩形区域,并点击右上角的 Zoom to Selection 按钮 (或应用键盘快捷键 M) 来放大该区域。当您将类似的线程拖放到一起后,能够跨多个线程进行框选以同时查看所有线程。

△ 应用框选模式能够更轻松地抉择跟踪记录

Summary 选项卡 : Analysis 面板中全新的 Summary 选项卡会显示以下内容:

  • 特定事件的所有实例的汇总统计信息,例如实例计数和最小 / 最大持续时间。
  • 选定实例的跟踪事件统计信息。
  • 无关线程状态散布的数据。
  • 所选跟踪事件内运行工夫最长的实例。

△ 在 Summary 选项卡中查看汇总统计信息

显示数据 : 在 Display 局部,SurfaceFlinger 和 VSYNC 的新时间轴可帮忙您考察利用界面中的渲染问题。

独立分析器

当初能够在独立于 Android Studio 主窗口的独自窗口中拜访 Android Studio 分析器。在优化应用其余工具 (如 Unity 或 Visual Studio) 构建的 Android 游戏时,此性能非常有用。

要运行独立分析器,请执行以下操作:

  1. 确保您的零碎当初没有运行 Android Studio 中的分析器。
  2. 转到装置目录并导航到 bin 目录:

Windows/Linux

 <studio-installation-folder>\bin

macOS

 <studio-installation-folder>/Contents/bin

  1. 依据您的操作系统,运行 profiler.exe 或 profiler.sh

独立分析器可连贯到 Android Emulator 或其余已连贯的设施上。

△ 应用独立 Android Studio 分析器优化您的利用

原生内存性能分析器

跟踪原生内存的应用状况对于游戏开发者和其余应用 C++ 的开发者非常重要,他们能够据此优化其利用的内存应用。Android Studio 内存性能分析器 (Memory Profiler) 当初蕴含一个原生内存性能分析器 (Native Memory Profiler),专门用于运行在 Android 10 或更高版本的实体设施上的利用。原生内存性能分析器能够跟踪特定时间段内原生代码中对象的调配 / 销毁状况,并提供内存总体调配和零碎堆残余大小的信息。

要启动记录,请点击 Memory Profiler 窗口顶部的 Record native allocations:

△ 应用原生内存性能分析器查看原生内存分配情况

总结

简要回顾一下,Android Studio 4.1 包含以下新增及改良性能:

设计

  • Material Design 组件更新

开发

  • Database Inspector
  • 间接在 Android Studio 中运行 Android 模拟器
  • Dagger 导航反对
  • 应用 TensorFlow Lite 模型

构建和测试

  • Android 模拟器 – 可折叠设施铰链信息反对
  • Apply Changes 更新
  • 从 AAR 中导出 C/C++ 依赖项
  • 原生代码解体报告符号化解析

优化

  • System Trace 界面改良
  • 独立分析器
  • 原生内存性能分析器

本文作者 / Scott Swarthout, 产品经理

文中材料并非由 Unity Technologies 或其从属公司资助或与其有关联。“Unity”是 Unity Technologies 或其从属公司在美国和其余地区的商标或注册商标。

退出移动版