Android Studio 3.5: 稳步推动 Project Marble 计划

做者: Jamal Eason, Android 产品经理html

您是否曾但愿 Android Studio 能够速度更快、性能更优、效率更高?如是的话,请当即下载最新的 Android Studio 3.5!您将会体验到史无前例的稳定版 Android Studio。在过去的 8 个月中,Android Studio 团队暂缓了新特性的开发工做,专心提高 Studio 的产品质量,只为让您享受到速度更快的平常开发体验!咱们把这项工做命名为 Project Marble 计划。该计划围绕系统健康、特性优化和错误修复三大核心领域,力图在 Android Studio 与 Android 模拟器中构建功能强大且稳定的基础特性与流。咱们会在 Project Marble 计划中直接整合收到的开发者反馈,欢迎你们继续向咱们提交反馈,分享您的想法与感觉。android

为了提高 Android Studio 的系统健康,咱们首先开发了一套全新的基础架构和内部仪表盘,以便更好地监测系统性能问题。经过这种方法部署的安全网能够帮助咱们成功捕捉到常规单元测试难以识别的问题。接着,团队解决了一系列问题,其中包括: 修复了 600 余个错误、50 个内存泄漏以及 20 个 IDE 挂起问题,而且减缓了 XML 和 Kotlin 从输入到被显示的延迟现象。此外在 Android 模拟器方面,咱们下降了 CPU 和内存对您开发设备的影响。尽管 Project Marble 计划的工做重心在于优化 IDE 和 Android 模拟器的系统健康,可是在计划的实施阶段,咱们还发现了几个新的质量领域,须要团队在将来继续攻克。

除了内存和性能之外,团队还投入了大量时间用以优化和修复面向开发者的若干核心特性。例如: 咱们检查了设备上的应用部署流,对 Instant Run 进行了完全重构,开发出了一款更加可靠且值得信赖的替代方案——Apply Changes。引入 Apply Changes 后,咱们不会再在构建时重写您的 APK 文件,而是利用 runtime instrumentation 在运行时从新定义类。若是您想要快速编辑代码,并查看代码变动,请当即上手试一下 Android Studio 3.5。android-studio

最后,咱们还在 Project Marble 计划期间,修复了 Android Studio 3.5 中的多个错误。感谢你们向咱们提交错误报告,并在多个社交平台上与团队进行积极互动,特别是 Android 社区中的 40 位外部贡献者,很是感谢他们一直以来的热心奉献,帮助团队提交和解决 Android Studio 3.5 中的重要质量问题。尽管 Android Studio 3.5 稳定版的发布对咱们来讲已是一个里程碑,象征着团队为提高 IDE 质量所付出的艰苦努力,可是咱们的质量调优工做并不会止步于 Project Marble 计划。咱们但愿每一位下载并使用 Android Studio 3.5 的开发者均可以享受到 Project Marble 计划所带来的裨益,借助高质量产品和全新架构,显著提高 Android 应用的开发效率。安全

咱们在 Android Studio 3.5 中引入了许多质量变动,请参阅《Android Studio 3.5 Beta 现已发布》或者 Android Studio 版本说明,查看完整版变动列表。固然,您也能够先阅读一下这篇文章或收看下方视频,快速了解一下其中的若干重要变动:架构

系统健康

Project Marble 计划中系统健康方面的改进包括: 内存性能、输入与用户界面冻结、构建速度、CPU 使用以及 I/O 性能。咱们针对这五点分别设计了新的监测机制,以便在开发过程当中更准确地识别问题,此外,流程上的优化也让团队得以更好地分析用户反馈,从开发者自愿分享的统计数据和错误报告中获取更多洞见。ide

尽管系统健康的许多优化项可能并不为你们所熟知,不过其中仍是有几个比较明显的变动,其中包括:工具

自动推荐内存设置布局

在 Android Studio 3.5 中,IDE 会识别出一个应用项目在 RAM 容量更高的机器上什么时候须要更多的 RAM,并在通知开发者增长内存堆大小;或者您也能够在 Appearance & Behavior → Memory Settings 下自行调整设置。

内存设置

用户界面冻结

在 Project Marble 计划开发期间,咱们在产品分析数据中发现 IDE 中的 XML 代码编辑速度明显较慢。咱们基于这个数据点优化了 XML 输入,使得 Android Studio 3.5 的性能表现有了极大的提高。从如下两张图中您能够发现,得益于输入延迟的改进,使用 XML 编辑数据绑定表达式的速度明显加快了。

改进前: 在 Android Studio 3.4 中编辑代码

改进后: 在 Android Studio 3.5 中编辑代码

构建速度

为了提升 Android Studio 3.5 的构建速度,咱们采起了许多措施,其中最为重要的一项变动是为顶级注释处理器添加增量构建支持,这些处理器包括 Glide、AndroidX data binding、Dagger、Realm 和 Kotlin (KAPT)。增量支持可以显著提升构建速度。更多内容,请阅读《在 Android Studio 中加快构建速度》。

磁盘 I/O 文件访问速度

Android Studio 的许多用户都在使用微软旗下的 Windows 系统。咱们发现与其余平台相比,Windows 的磁盘 I/O 文件访问耗时明显更久。深度分析数据后,咱们发如今一些杀毒程序在默认设置下,并未将 Android Studio 的构建输出文件夹 (build output folder) 排除在扫描范围以外。在 Android Studio 3.5 中,一旦系统监测到这个状况,Studio 将经过弹窗引导您进行最优设置。

系统健康通知——杀毒软件检查

特性优化

除改善系统健康以外,咱们还从新检查了一些关键用户流程, 修复了一些错误以及若干致使不良用户体验的问题,涉及领域包括: 数据绑定、布局、Chrome OS 支持和项目升级,而应用部署流则是其中较为关键的一项改进。

Apply Changes

在 Project Marble 计划期间,咱们移除了 Instant Run,而后在 Android Studio 3.5 中从新构建并实现了一个更加实用的替代方案,即 Apply Changes。Apply Changes 使用 Android Oreo 及以上版本中的平台特定 API 来确保可靠且一致的系统行为。与 Instant Run 的机制不一样,更改系统配置并不会重写您的 APK 文件。为了支持此项变动,咱们重构了整个部署管道,以此提高部署速度;与此同时,咱们还微调了工具栏中的运行与部署按钮,但愿借此为您提供更为精简的开发体验。

Apply Changes 按钮

应用部署用户流

总结一下,Android Studio 3.5 共修复几百个错误,并针对如下核心领域引入了若干关键变动:

系统健康

  • 内存设置
  • 内存使用报告
  • 减小异常
  • 用户界面冻结
  • 构建速度
  • IDE 速度
  • Lint 代码分析
  • I/O 文件访问
  • 模拟器 CPU 使用

特性优化

  • Apply Changes
  • Gradle 同步
  • 项目更新
  • 布局编辑器
  • 数据绑定
  • 应用部署
  • C++ 改进
  • Intellij 2019 平台升级
  • 动态特性支持之条件交付
  • 模拟器对可折叠设备及 Google Pixel 设备的支持
  • Chrome OS 支持

更多内容,请参阅 Android Studio 版本说明,或阅读下列与 Project Marble 计划相关的深度学习专栏或收看 Google I/O 专题分享会:

自愿数据分享与反馈

咱们基于开发者提交的反馈与指标数据,判断 Android Studio 中有哪些内容适用于 Project Marble 计划,并决定具体的优化项目和实现手段。开发者可自愿在 Android Studio 内勾选数据分享,收集上来的数据将帮助团队断定产品是否含有波及全体用户的问题,接着在此基础上,调整功能开发工做的顺序,优先解决最令用户头疼的问题。为了获取最优洞见,咱们在产品整合了多种不一样的反馈渠道,指标数据分享是其中最基本的一款反馈工具,您可经过如下路径在 Android Studio 中启用该功能 Preferences /Settings → Appearance & Behavior → Data Sharing。

IDE 数据分享
不知道您今年是否留意到 IDE 右下角的用户心情标志。Android Studio 经过这个小小的心情标志,了解用户的使用感觉,并获取与实际用例相关的反馈。这是用户向团队提交错误报告最快的途径。

IDE 用户反馈

即刻体验

下载

请前往下载页面,获取 Android Studio 3.5。若是您当前正在使用旧版本的 Android Studio,请直接进行升级操做便可。

如需使用上述 Android 模拟器特性,请确保您正在运行经过 Android Studio SDK 管理器下载的 Android 模拟器 v29.1.9 或更高版本。

很是感谢你们继续踊跃反馈,与咱们分享您的所感所想,建议与意见,或者任何您指望看到的新特性。若是您遇到任何错误或问题,请提交错误报告,或在评论区留言。

点击这里提交产品反馈建议

相关文章
相关标签/搜索