据官方介绍,在过去的8个月中,AndroidStudio团队暂缓了新特性的开发工作,专心提升Studio的产品质量,只为带来速度更快的日常开发体验,谷歌把这项工作命名为ProjectMarble计划。该计划围绕系统健康、特性优化和错误修复三大核心领域,力图在AndroidStudio与Android模拟器中构建功能强大且稳定的基础特性与流。
为了提升AndroidStudio的系统健康,谷歌首先开发了一套全新的基础架构和内部仪表盘,以便更好地监测系统性能问题。通过这种方法部署的安全网可以帮助成功捕捉到常规单元测试难以识别的问题。接着,团队解决了一系列问题,其中包括:修复了余个错误、50个内存泄漏以及20个IDE挂起问题,并且减缓了XML和Kotlin从输入到被显示的延迟现象。此外在Android模拟器方面,降低了CPU和内存对开发设备的影响。尽管ProjectMarble计划的工作重心在于优化IDE和Android模拟器的系统健康,但是在计划的实施阶段,谷歌团队还发现了几个新的质量领域,需要团队在未来继续攻克。
除了内存和性能以外,团队还投入了大量时间用以优化和修复面向开发者的若干核心特性。例如:检查了设备上的应用部署流,对InstantRun进行了彻底重构,开发出了一款更加可靠且值得信赖的替代方案——ApplyChanges。引入ApplyChanges后,团队不会再在构建时重写你的APK文件,而是利用runtimeinstrumentation在运行时重新定义类。如果你想要快速编辑代码,并查看代码变更,请立即上手试一下AndroidStudio3.5。
最后,还在ProjectMarble计划期间,修复了AndroidStudio3.5中的多个错误。
AndroidStudio3.5下载:点此链接。
系统健康
ProjectMarble计划中系统健康方面的改进包括:内存性能、输入与用户界面冻结、构建速度、CPU使用以及I/O性能。针对这五点分别设计了新的监测机制,以便在开发过程中更准确地识别问题,此外,流程上的优化也让团队得以更好地分析用户反馈,从开发者自愿分享的统计数据和错误报告中获取更多洞见。
尽管系统健康的许多优化项可能并不为大家所熟知,不过其中还是有几个比较明显的变更,其中包括:
自动推荐内存设置
在AndroidStudio3.5中,IDE会识别出一个应用项目在RAM容量更高的机器上何时需要更多的RAM,并在通知开发者增加内存堆大小;或者您也可以在AppearanceBehavior→MemorySettings下自行调整设置。
内存设置
用户界面冻结
在ProjectMarble计划开发期间,我们在产品分析数据中发现IDE中的XML代码编辑速度明显较慢。我们基于这个数据点优化了XML输入,使得AndroidStudio3.5的性能表现有了极大的提升。从以下两张图中您可以发现,得益于输入延迟的改进,使用XML编辑数据绑定表达式的速度明显加快了。
改进前:在AndroidStudio3.4中编辑代码
改进后:在AndroidStudio3.5中编辑代码
构建速度
为了提高AndroidStudio3.5的构建速度,我们采取了许多措施,其中最为重要的一项变更是为顶级注释处理器添加增量构建支持,这些处理器包括Glide、AndroidXdatabinding、Dagger、Realm和Kotlin(KAPT)。增量支持能够显著提高构建速度。更多内容,请阅读《在AndroidStudio中加快构建速度》。
顶级注释处理器: