作者: Jamal Eason, 产品经理
我们很高兴推出稳定版 Android Studio 3.3,携手各位开发者开启精彩纷呈的新一年。本次版本更新的重点是性能优化和质量提升,您可以前往 developer.android.google.cn/studio , 尝鲜体验最新版 Android Studio。出于对用户反馈的考虑,Android Studio 3.3 更关注基础功能的改进,而非重大新特性的发布。我们的目标是确保 Android Studio 继续助力各位开发者提高工作效率,打造更出色的 Android 应用。
自上个稳定版发布以来,Android Studio 共解决了超过 200 个用户提交的错误。本次更新还包括: (1) 为 Navigation Editor 提供官方支持,(2) 改进注释处理器对 Java 增量编译的支持,(3) 引入C ++ 代码 lint 检查,(5) 升级新项目向导,(4) 为各个性能分析器添加可用性修复。此外,Android 模拟器退出时保存快照的速度也提高了 8 倍。
我们将在今年扩大质量管控的关键领域,并将其命名为 Marble 项目,而 Android Studio 3.3 的发布正是该项目的首个重要节点。其实早在去年 11 月举办的 Android 开发者峰会上,Android Studio 团队就已经宣布启动 Marble 项目,目的是在强化 IDE (集成开发环境) 核心功能和流的同时,进一步优化面向用户的关键特性, 进而帮助开发者顺利应对日常应用开发工作。在 Marble 项目中,我们尤其注重减少崩溃、卡顿、内存泄露和影响用户体验的错误。此外,我们还投入了大量资源和精力,希望研发出更好的基础测量工具以避免这些问题的产生。在推进 Marble 项目的同时 ,我们会在第一时间向大家分享项目的最新动态和详细信息,敬请期待!
Android Studio 3.3 是一次具有里程碑意义的产品发布。如果您想尝试最新的特性以及优化项,不妨立即从稳定版渠道下载。请耐心阅读下文,并观看精彩视频,进一步了解 Android 3.3 带来的重要变更与改进。
Marble 项目
https://www.youtube.com/watch?v=ei_5R0CvLm4
稳定版渠道下载
https://developer.android.google.cn/studio/
开发
Navigation Editor - Navigation Editor 是一款可视化编辑器,主要用于构建支持新 Jetpack 导航组件的 XML 资源。开发者可以通过 Navigation Editor 和导航组件在应用屏幕和内容区域之间构建可预测的交互。在之前发布 Android Studio 中,我们仅提供了预览版的编辑器功能。在听取大家的反馈意见之后,我们保留并优化了这个功能。感谢向我们提供反馈的开发者。如需了解详情,请参阅《Navigation Editor 文档》。
Navigation Editor
IntelliJ 平台更新 - Android Studio 3.3 包含 IntelliJ 2018.2.2 版本。作为 JetBrains 的重要平台更新,IntelliJ 2018.2.2 带来了不少出色的新特性和功能优化,如: 新的代码编辑器预览功能、图标更新、MacBook 触控条支持、控制集成优化等。请移步 JetBrains 官网,获取更多信息。
Kotlin 更新 - Android Studio 3.3 捆绑了 Kotlin 1.3.11,包含对 Kotlin 协程 (Coroutines) 与合约 (Contracts) 的支持,并且 IDE 支持推荐的 Kotlin 编码风格。更多技术细节,请阅读《Android Pie SDK 与 Kotlin 更合拍》。
Clang-Tidy 支持 - 开发者现在可以在 Android Studio 现中使用 Clang-Tidy 对 C++ 代码进行静态分析。与 Studio 中用于检查 Java 和 Kotlin 代码的 lint 工具相似,Clang-Tidy 可以检测包含 C ++ 代码的 Android 应用中是否存在常见编码问题和错误。请依次勾选 Settings → Editor → Inspections (MacOS 中为 Preference → Editor → Inspections) ,开启该功能。更多内容,请参阅 Clang-Tidy 官方文档。
Clang-Tidy 代码检测设置
新项目向导升级 - Android Studio 改进新项目向导后,可以支持更多的设备类型、编码语言和新框架。与此同时,用户体验也有所改善,开发者可以通过更简便的方式获取相同的新项目模板。
新项目向导
删除未使用的 IDE 目录 - 为了顺利升级至最新版 Android Studio, 您可以使用我们添加的一项新功能来清除未使用的设定和缓存目录。历史版本 Android Studio 会在硬盘中留下一些旧目录,它们既不容易找到,也不方便清除。当您第一次运行 Android Studio 3.3 (或更高版本) 时,新对话框会显示历史安装生成的目录,并提醒您进行安全删除操作。
对话框界面: 删除未使用的目录
IDE 用户反馈 - Android Studio 新添加了心情图标,帮助我们快速收集用户反馈,并用于改善产品质量。如果您已选择分享使用情况统计信息,请点击最能代表您当下使用体验的图标。如果您尚未启用分享使用情况统计信息,可以通过以下步骤予以启用: Settings → Appearance & Behavior → System Settings → Data Sharing (MacOS 中为 Preferences → Appearance & Behavior → System Settings → Data Sharing) 。
IDE 用户反馈界面
Navigation Editor 文档
https://developer.android.google.cn/topic/libraries/architecture/navigation/navigation-implementing
JetBrains 官网
https://www.jetbrains.com/idea/whatsnew/#v2018-2
Clang-Tidy 官方文档
http://clang.llvm.org/extra/clang-tidy/
构建
加强注释处理器对 Java 增量编译的支持 - 在此项更新中,我们改进了注解编译器对 Java 增量编译的支持,从而有效缩短了构建时间。如果您想要使用此功能,请确保已经下载 Android Grandle plugin 3.3.0 或更高版本。更多内容,请阅读《Android Studio 预览版新特性》。
延迟任务 (lazy task) 配置 - 通过调用 Gradle 中的新任务创建 API,该插件可以避免开启或配置不需要在当前构建中完成的任务 (或者不在执行任务图上的任务)。比如说,假设您同时拥有多个构建变体,如 "release" 和 "debug" 构建配置,而当前您正在构建应用的 "debug" 版本,该插件可帮您避免启动或配置任何 "release" 版本中的任务。详细内容,请阅读 Gradle 5.1.1 文档。
单变体项目同步 - 如果应用项目的规模较大,而且需要同时维护多个构建变体,那么除构建速度以外,项目的同步速度也有可能成为开发瓶颈。该版本 IDE 允许开发者限定仅同步当前所选的变体。如需使用该优化,请确保项目已添加 Android Grandle plugin 3.3.0 或更高版本。该功能为实验功能,您需要在 Android Studio 3.3 中的实验偏好设置中手动开启。
单变体项目同步
Android App Bundles 现已支持即时应用 (Instant Apps) - 您可在单个 Android Studio 项目中构建并部署 Google Play Instant 体验,并将它们整合到一个 Android App Bundle 中。Android App Bundle 是我们在去年新推出的 Android 应用标准发布格式,开发者可以通过 Android Studio 构建 App Bundle 文件。此项更新能够精简并统一您上传至 Google Play 的构建工件。更多技术细节,请阅读《Android Studio 版本说明》。
Android Studio 预览版新特性
https://developer.android.google.cn/studio/preview/features/#gradle_version
新任务创建 API
https://docs.gradle.org/current/userguide/task_configuration_avoidance.html
Gradle 5.1.1 文档
https://docs.gradle.org/current/userguide/task_configuration_avoidance.html
Android Studio 版本说明
https://developer.android.google.cn/studio/releases/#app-bundles-instant
测试
多个模拟器 AVD 实例 - Android 模拟器 28.0 现已支持为同一台 Android 虚拟设备 (ADV) 同时启动多个实例。每个实例均占用最低限度的系统资源。如果您已部署持续集成 (CI) 测试环境,该功能可以让您在一套 AVD 配置上并行运行多个测试。具体操作,请运行下列命令行:
Android 模拟器: 启动多个 AVD
Android 9 Pie 模拟器系统镜像和 Wi-Fi P2P - 除了 Android 3.3 之外,您还可以为模拟器下载 Android 9 系统镜像文件,以便在本地进行应用测试。Google Play 模拟器系统镜像文件不仅具备 Android CTS (兼容测试套件) 认证,而且提供 Wi-Fi P2P 技术支持,允许两台模拟器以点对点形式直接互联。如需使用该特性,请通过以下命令行启动模拟器 (v28.0.22 或更高版本),并确保这两个模拟器共用一个 Wi-Fi 服务器和客户端口命令行参数。
Android 模拟器: Wi-Fi P2P 设置
模拟器快照保存速度 - 开发者告诉我们他们十分喜欢使用快照和 Quick Boot 功能,但是感觉模拟器的关闭速度以及 Quick Boot 保存快照速度稍微慢了点。为了解决这个问题,我们优化了快照的保存和管理方式,改用映射文件来保存客户机 RAM。据统计结果显示,优化之后,Quick Boot 保存快照的平均用时从 27 秒降至 3 秒 - 速度提升了整整 8 倍。如果您想了解更多有关快照保存的技术细节以及其它近期推出的模拟器优化内容,请点击收看我们在 Android 开发者峰会上的相关分享。
Wi-Fi P2P
https://developer.android.google.cn/guide/topics/connectivity/wifip2p
相关分享
https://www.youtube.com/watch?v=lL2nKEVmMjc
优化
分析器性能优化 - 根据大家的反馈,我们在这次版本更新中大幅改进了 Android Studio 中各个分析器的性能。本地测试结果显示,平均帧率提高了 2 倍。欢迎大家继续提供反馈,特别是当您发现性能问题时,请及时报告给我们。
内存分析器的跟踪内存分配选项 - 部分开发者向我们反馈表示,旧版 Android Studio 在默认设置下,偶尔会出现应用性能显著下降的问题。为了解决这个问题,我们将内存分析器在 Android 8.0 或更高版本设备上的默认捕捉模式更改为定期取样内存分配数据。您可以在分配跟踪的下拉菜单中调整具体设置。默认情况下,我们会在 CPU 记录时暂时关闭内存分配跟踪功能,以便尽可能减少对记录结果的影响。更多内容,请阅读《如何在分析过程中提升应用性能表现》。
内存分析器: 分配跟踪选项
网络分析器的格式化文本支持 - 在默认设置下,Android Studio 3.3 中的网络分析器会对网络负载中的常见文本类型进行格式化操作,包括 HTML, XML 和 JSON。如果您需要在格式化文本和原始文本之间进行切换,请在标签栏中选择 Response 或 Request,然后点击 View Parsed / View Source 选项。更多内容,请阅读《利用网络分析器检查网络流量》。
网络分析器: 格式化文本
CPU 分析器支持帧渲染数据: 当您使用 Trace System Calls 进行记录时,CPU 分析器会显示UI 主线程和渲染线程每一帧的渲染时间。这些数据可以帮助您如果诊断出应用中 UI 卡顿的瓶颈所在和具体原因,并且为您指明优化方向。更多内容,请阅读《渲染过慢》。
CPU 分析器: 帧渲染数据
提供反馈
https://issuetracker.google.com/issues/new?component=192722
如何在分析过程中提升应用性能表现
https://developer.android.google.cn/studio/profile/memory-profiler#performance
利用网络分析器检查网络流量
https://developer.android.google.cn/studio/profile/network-profiler
渲染过慢
https://developer.android.google.cn/topic/performance/vitals/render
简要总结一下,Android Studio 3.3 新增了以下改进和特性:
开发
导航编辑器
IntelliJ 2018.2.2 平台更新
Kotlin 1.3.11 更新
Clang-Tidy 对 C++ 的支持
新项目向导更新
删除未使用的 IDE 目录
构建
强化注释处理器对 Java 增量编译的支持
延迟任务配置
单变体项目同步
Android App Bundles 现已支持即时应用
测试
启动多个模拟器 AVD 实例
Android 9 Pie - 模拟器系统镜像
加快模拟器快照的保存速度
优化
分析器性能优化
内存分析器: 分配跟踪选项
网络分析器: 格式化文本
CPU 分析器: 帧渲染数据
如需获取更多详细内容,请阅读《Android Studio 发布说明》、《Android Gradle plugin 发布说明》以及《Android Emulator 发布说明》。
Android Studio 发布说明
https://developer.android.google.cn/studio/releases/#3-3-0
Android Gradle plugin 发布说明
https://developer.android.google.cn/studio/releases/gradle-plugin
Android Emulator 发布说明
https://developer.android.google.cn/studio/releases/emulator
立即上手
下载
请前往下载页面,体验最新版 Android Studio 3.3。如果您正在使用旧版 Android Studio, 亦可以选择升级至最新版本。如果您想继续使用稳定版 Android Studio, 建议您同时安装稳定版和 Canary 版本的 Android Studio。点击获取详细安装步骤。
如需使用上述的 Android 模拟器特性,请确保您通过 Android Studio SDK Manager 下载 Android 模拟器 v28.0.22 或更高版本。
下载页面
https://developer.android.google.cn/studio/
详细安装步骤
https://developer.android.google.cn/studio/preview/install-preview
点击屏末 | 阅读原文 | 体验最新版 Android Studio 3.3
推荐阅读