Android Studio切换到新的D8编译器
极客时间编辑部
讲述:杜力大小:916.22K时长:01:57
在最新发布的 Android Studio 3.1 中,重点提高了对 App 的开发效率,其中新增了一个新的 C++ 性能分析器,可以帮助开发人员解决应用代码中的性能瓶颈问题。近日,该 3.1 版本切换到了一个新的 DEX 编译器,旨在提供更好、更快的编译。
据谷歌软件工程师杰弗里·梵高(Jeffrey van Gogh)介绍,除了速度更快之外,新编译器 D8 与之前的 DX 编译器相比,有着同等或更好的运行时性能。
一直以来,把.class 字节码转换成.dex 字节码,都是构建安卓应用时的必要步骤,直接影响了应用整体的构建时间和性能。
谷歌通过自己的基准测试项目测出,更换编译器后,编译时间缩短了 20%,而且.dex 文件变得更小。当然,这个结果应该要打个折扣,因为它们是基于单一框架的。
此外,使用 D8 还有一个好处,就是支持脱糖,让只有 Java 8 才能提供的特性(如 lambdas)可以转换成 Java 7 特性。然而,把脱糖步骤集成进 D8,影响了所有读或写.class 字节码的开发工具,因为它会使用 Java 8 格式。对此,开发人员可以在 gradle 文件中设置一个属性,恢复到以前的行为,让脱糖发生在 Java 编译之后,.class 字节码仍然遵循 Java 7 格式。
目前,虽然 D8 是 Android Studio 的默认编译器,但并不意味着开发人员要忙着迁移他们的 App。事实上,在谷歌确信 D8 不会导致任何用户的退化之前,旧的 DX 编译器将会一直可用。
也就是说,至少在六个月内,谷歌都将继续修复在 DX 中发现的 Bug。目前第一阶段,谷歌工程师将密切监控 D8 Bug 追踪器,查找任何可能影响迁移计划的问题。如果六个月没有重大退化,谷歌还将保留 DX 至少一年,以确保任何开发团队都有足够的时间迁移。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论