据官方介绍,在过去的8个月中,Android Studio团队暂缓了新特性的开发工作,专心提升Studio的产品质量,只为带来速度更快的日常开发体验,谷歌把这项工作命名为Project Marble计划。该计划围绕系统健康、特性优化和错误修复三大核心领域,力图在Android Studio与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。

最后,还在Project Marble计划期间,修复了Android Studio 3.5中的多个错误。

Android Studio 3.5下载:点此链接。

系统健康

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

尽管系统健康的许多优化项可能并不为大家所熟知,不过其中还是有几个比较明显的变更,其中包括:

自动推荐内存设置

在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中加快构建速度》。

顶级注释处理器:https://developer.android.google.cn/studio/build/optimize-your-build.html#annotation_processors

磁盘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按钮

应用部署用户流

Apply Changeshttps://developer.android.google.cn/studio/run#apply-changes

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

系统健康

  • 内存设置

  • 内存使用报告

  • 减少异常

  • 用户界面冻结

  • 构建速度

  • IDE速度

  • Lint代码分析

  • I/O文件访问

  • 模拟器CPU使用

特性优化

  • Apply Changes

  • Gradle同步

  • 项目更新

  • 布局编辑器

  • 数据绑定

  • 应用部署

  • C++改进

  • Intellij 2019平台升级

  • 动态特性支持之条件交付

  • 模拟器对可折叠设备及Google Pixel设备的支持

  • Chrome OS支持

wavecn 2.0.0.5 正式版_谷歌Android Studio 3.5正式版发布:稳步推进Project Marble计划相关推荐

  1. Android Studio 2.2 正式起航

    原文地址:http://blog.csdn.net/xiaole0313/article/details/52621766 转载请注明出处:http://blog.csdn.net/xiaole031 ...

  2. Android Studio Electric Eel 正式版下载地址

    Android Studio 是 Android 的官方 IDE.它专为 Android 而打造,可以加快您的开发速度,帮助您为每款 Android 设备构建最高品质的应用. 比以往更快地编码和迭代 ...

  3. Android Studio 3.1 正式版发布

    Android Studio 3.1 正式版发布了 今天 Android Studio 3.1 正式版这是发布,发布了新版本,我当然是第一时间更新了,总体来说很不错,建议更新,下面介绍一下这次主要更新 ...

  4. 《Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

    <Android移动应用基础教程>(Android Studio)(第二版)黑马程序员 课后习题答案 目录 第1章 Android基础入门 第2章 Android常见界面布局 第3章 An ...

  5. 《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案 第7章

    <Android移动应用基础教程>(Android Studio)(第二版)黑马教程 课后题答案 第7章 一.判断题 1.对 2.对 3.对 4.错 5.对 二.选择题 1.C 2.B 3 ...

  6. Android Studio Arctic Fox 稳定版(android-studio-2020.3.1.26)下载地址

    Android Studio Arctic Fox 稳定版(Android Studio 4.3)开发工具版本适用多个平台系统,它是Android Studio 4.2.2的下一个版本Android ...

  7. 《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案第一章

    <Android移动应用基础教程>(Android Studio)(第二版)黑马教程 课后题答案 第一章 一.填空题 1.dex 2.@color 3.AndroidManifest.xm ...

  8. 谷歌浏览器安卓版_谷歌翻译(在线翻译)下载-谷歌翻译下载安装安卓版v5.12.0...

    软件介绍 谷歌翻译安卓版是一款可以很快进行翻译的app,用户可以利用文档扫描,快速翻译,出国旅游,商务翻译都可以使用这款软件.谷歌翻译安卓版功能很全面,超多的语音翻译可以选择,实现在线翻译,是全世界通 ...

  9. Android Studio 3.1 正式版

    欢迎大家推荐自己在Android开发过程中用的好用的工具.学习开发教程.用到设计素材.如果你觉得本站对你有用,你可以点击底部的分享按钮,把本站分享到社交网络让你的小伙伴和更多的人知道. 或者可以考虑捐 ...

最新文章

  1. 参加完Python培训后有哪些就业方向
  2. 全局的过滤器, 进行时间的格式化——所谓的全局过滤器,就是所有的VM实例都共享的 || 如何自定义一个私有的过滤器(局部)
  3. Ajax(异步请求)和传统(同步请求)区别
  4. 年轻人,拼命奋斗还是保命要紧?
  5. swift5.给系统类添加便利构造函数
  6. hdu 2064汉诺塔III 递推
  7. 修改lgoin,http://www.tuicool.com/articles/U3iyqq
  8. 使用正则表达式时,容易出错的地方~
  9. PageHelpe的分页不起作用
  10. Microsoft Office 2016(ProPlus/Visio/Project) VOL 简体中文版
  11. 【博主推荐】html好看的拼图验证码(附源码)
  12. 设备树学习之(一)GPIO中断
  13. 浅析帧、帧数、帧率、FPS区别
  14. Golang——从入门到放弃
  15. RDL 报表 - 横向合并单元格后单元格被撑高
  16. 单片机:AT89s52 定时器 time0
  17. LOL召唤师信息查询工具(可查服务器、段位、胜点,隐藏分、战斗力)
  18. 用Python自动计算Excel排班表的工时
  19. Linux 命令————打包解压之tar
  20. 浅析嵌入式系统之uboot详解(5.3)—PWM定时器(番外)

热门文章

  1. 表的插入、更新、删除、合并操作_20_通过表关联删除多张表
  2. Kettle使用_17 计算器生成时间维度数据
  3. pmbook 知识领域 第六版_PMP项目管理10大知识领域脑图
  4. python2和python3的不同点_Django python2和python3的区别
  5. 冷热分离和直接使用大数据库_还不知道HBase冷热分离的技术原理?看这一篇就够了...
  6. 嵌入式Linux系统中的.lds链接脚本基础
  7. 学习能力和工作态度是准绳
  8. First Missing Positive
  9. 《机器人自动化:建模、仿真与控制》——2.3 仿真
  10. CentOS 7 安装MySQL 5.6遇到问题及解决方案