android studio2.3版本已经在11月12号在金丝雀通道更新,这是进入下一个Android Studio主要版本的早期预览版,这个版本修复了大量的bug并且新增了一些新功能。
下面是此版本中的一些主要更改:
-
IDE
我们已经将基础IDE从IntelliJ 216.1升级到了IntelliJ2016.2,这增加了一些新功能 --连字,面包屑,编辑器背景图片,改进的UI检查,通知和调试器等。
-
LayoutEditor
布局编辑器现在支持ConstraintLayout的链和比率(ratios)
-
Lint
Lint现在加入了“基线支持”,它允许你检查当前的一组警告。从创建基线开始,只有新的问题才会被报告。你可以为有很多未解决问题的项目设置基线,只解决创建基线之后引入的新问题,而不必解决现在的所有问题。为了不忘记之前的技术错误,他会创建一个信息级别,告诉你你已经过滤掉了一些错误
还有很多新的lint检查。比如包含了在support library 25中新实施的@RestrictTo 和 @VisibleForTesting(otherwise=intended) ,动画属性有效性和是否会在发布版本中重命名的(什么鬼)检查,标记及潜在的wifi管理器内存泄漏等。
想了解更多新的lint检测和基线支持,文档在这里
-
WebP
AS 2.3 现在支持将PNG转换为WebP。使用新的图像转换向导,你可以快速生成WebP图像,如果你使用有损编码,请检查图像的差异。使用WebP图像可以让你的APK文件更小,并且有更高的性能。更多WebP支持信息查看此处的文档
使用转换工具,只要在你工程的图片上右键,最下面就是转换功能。
如果你使用的是有损压缩,那么可以开启预览模式
下面看一下压缩效果到底有多么恐怖吧
默认压缩
最低压缩
此处注意中间的损失部分,还是有明显的损失的。
对于这张图片貌似90%是最好的压缩效果
-
Data Binding
Data Binding 除了修复了许多错误,又添加了一个新功能,用来帮助你调试使用了Data Binding的应用程序。通常情况下,IDE将自动实时计算数据绑定类型,使得他们始终都是最新的,并且在XML中进行编辑时是最新的。但是,当你调试你的应用程序市,你可能想看到并进入编译的代码,你现在可以在设置中启用此功能。
这里有一个大坑,当你升级到AS2.3的时候,AS会提示说你的Gradle太旧了,是否升级到2.3
点完升级你就会发现gradle再也不能正确编译了,
谷歌code里也讨论了很久,看起来是一个bug了。
这里提供一个解决办法就是把你的gradle版本继续改为2.2.+就可以了。只要不使用2.3的gradle就没有问题。
-
Pixel 和Pixel XL
谷歌最新出的两款手机也加入自带虚拟机套餐里,帮助开发人员测试应用在7.1下的兼容性。
-
增量SDK更新
这个版本的AS支持了SDK的增量更新,比如系统镜等。我们现在可以为系统镜像(通常非常大)提供补丁,而使用AS2.3更新这些补丁将会更小更快。
-
构建系统
支持新的gradle插件2.3.0,有一些显著的变化
- 默认情况下启用dex文件的用户缓存,这将加快构建。
- 大项目的配置时间应该明显更快
- 对于Instant Run,“启动延迟”(大应用在启动时暂停几秒钟)应该消失
- Instant Run对于Android N目标设备使用“APK拆分”这比使用在旧设备上的类加载器更可靠的技巧。
-
Bug 修复
一个值得注意并且大家强烈要求的功能。我们添加了一个搜索框到矢量资源向导,现在你可以快速过滤矢量图标通过资源的名字。
-
注意
如果你使用Kotlin,请不要升级,Kotlin正在为AS2.3适配中
请大家一如既往的尝试并且给我们反馈
你可以通过内置更新功能来更新(需要切换到Canary通道),或者你也可以直接单独安装IDE,同时拥有2.2.2和2.3Canary。
其实也用不到那么麻烦,直接解压双击就可以用了。