手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Android Studio切换到新的D8编译器

[日期:2018-04-18] 来源:infoq.com  作者:Sergio De Simone ,译者 谢丽 [字体: ]

据谷歌软件工程师Jeffrey van Gogh介绍,近日发布的Android Studio 3.1切换到了一个新的DEX编译器,旨在提供更好、更快的编译。

除了速度更快之外,新编译器D8据称与之前的DX编译器相比有着同等或更好的运行时性能。

把.class字节码转换成.dex字节码,是Android运行时构建Android应用时的必要步骤,直接影响整体构建时间和App性能。谷歌通过自己的基准测试项目测出,编译时间缩短了20%,而且.dex文件更小,虽然只有几个百分比。这些结果应该要打个折扣,因为它们是基于单一的框架。实际上,有用户已经报告,他们在Android Studio 3.0中使用D8时编译时间增加了。

除了其他好处外,使用D8还有一个好处,就是支持脱糖,让Java 8才提供的特性(如lambdas)可以转换成Java 7特性。把脱糖步骤集成进D8影响了所有读或写.class字节码的开发工具,因为它会使用Java 8格式。你可以在gradle文件中设置一个属性,恢复到以前的行为,让脱糖发生在Java编译之后,.class字节码仍遵循Java 7格式:

android.enableD8.desugaring = true

如果你在使用D8时遇到了任何一般性问题,你可以通过修改gradle.properties文件里的一个属性恢复到DX,如下所示:

android.enableD8=false

虽然D8现在是Android Studio的默认编译器,但那不是说开发人员要忙着迁移他们的App。事实上,在谷歌可以确信D8不会导致任何用户的退化之前,旧的DX编译器将一直可用。也就是说,至少在六个月内,谷歌将继续修复在DX中发现的Bug。在第一阶段,谷歌工程师将密切监控D8 Bug追踪器,查找任何可能影响迁移计划的问题。在六个月没有重大退化之后,谷歌还将保留DX至少一年,以确保任何开发团队都有足够的时间迁移。此后,将只有旧版本的Android Studio提供DX。

查看英文原文Android Studio Switched to New D8 Compiler

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-04/151937.htm

linux
相关资讯       Android Studio  D8编译器 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款