编译

Instant Run

工具栏上增加了一个“闪电”的标志,原来的“Run”按钮(Shift+F10)会保持全量编译。新增的“闪电”按钮(Gradle需要升级到2.3.0)才是Instant Run,会在程序保持运行的情况下替换代码。

Instant Run的底层代码有很大的改进,消除了的启动延时。

android studio登录界面记住账号不记住密码 android studio登录功能_新功能

编译缓存

使用编译缓存可以加快编译的速度。在Android Studio 2.2 已经引进了编译缓存,但默认是关闭的。Android Studio 2.3 的编译缓存得到进一步优化,使用后的编译速度将会更快,而且是默认打开的。

设计

约束布局(ConstraintLayout)

Android Studio 2.3 包含了稳定版的ConstraintLayout(意思是2.2里面的是不稳定版?!),现在可以将两个或以上的控件在一个维度上建立成一组,平铺在它们的父布局里。

android studio登录界面记住账号不记住密码 android studio登录功能_新功能_02

支持按固定的比例缩放图片。

android studio登录界面记住账号不记住密码 android studio登录功能_新功能_03

布局编辑器

新的布局编辑器支持通过搜索、排序和过滤找到对应的控件,并且增加了一个预览的窗口。

android studio登录界面记住账号不记住密码 android studio登录功能_Android_04

布局属性收藏

在布局的控件属性编辑窗口里面可以保存控件的属性,在对应属性左边点亮星号保存,被保存的属性将会出现在属性编辑窗口的Favorites Attributes栏下。

android studio登录界面记住账号不记住密码 android studio登录功能_新功能_05

WebP图片格式

在Android Studio 2.3 里面支持将PNG格式的图片转换为WebP格式,WebP格式的占用空间要比PNG格式小25%以上,并且是无损的。这将帮助减小APK的大小。要转换,只需右键PNG格式图片,点击PNG file to convert to WebP就可以了,也支持将WebP格式的图片恢复到PNG格式。

android studio登录界面记住账号不记住密码 android studio登录功能_Studio_06

Material图标向导

新的Material图标向导支持搜索和过滤。

android studio登录界面记住账号不记住密码 android studio登录功能_Android_07

开发

Lint Baseline

Lint是Android Stuido里面一个检查代码的功能,它可以查出不规范的代码、多余的资源、可能存在的bug等问题。可以通过Analyze → Inspect Code启用。 现在Android Stuido 2.3给它增加了一个小功能,可以将没有解决的Lint警告作为Baseline,Baseline只会显示新的警告。如果项目里面有很多的Lint警告,但是你只想去处理新的警告,就可以用上这个功能。

android studio登录界面记住账号不记住密码 android studio登录功能_新功能_08

App 链接

使用新的App链接助手可以很方便地创建url意图过滤器,并且支持测试。通过Tools → App Link Assistant打开App链接助手。

android studio登录界面记住账号不记住密码 android studio登录功能_正式版_09

模板

在模板里面,原来使用了RelativeLayout的布局现在替换成了ConstraintLayout。

增加了一个带有底部导航栏的模板,遵循了材料设计的底部导航设计规范。

android studio登录界面记住账号不记住密码 android studio登录功能_2-3_10

调试

模拟器

模拟器里面增加了Pixel和Pixel XL。

android studio登录界面记住账号不记住密码 android studio登录功能_2-3_11

模拟器支持和主机操作系统共享粘贴板,也就是可以互相复制粘贴了。需要使用x86 Google API,并且API 19(Android 4.4)以上的模拟器。

android studio登录界面记住账号不记住密码 android studio登录功能_新功能_12

个人小结

Android Stuido 2.3 带来的改进还是挺多的。

首先,编译速度又快了一些,我把关掉的Instant Run又打开了(咦?我为什么要说又)。

作为习惯写xm代码的码农来说,估计还没怎么用过ConstraintLayout。谷歌从16年开发者大会之后就一直在推ConstraintLayout,这次连默认模板里面的布局都改成了ConstraintLayout了,感觉是时候要了解一下了。

关于WebP格式,官方说可以减少25%以上的容量。我随便找了一张图片转,居然只有原来5%的大小。如果项目里面用到的图片比较多,可以在很大程度上减小apk的大小。

说实话,之前没怎么用过Lint检查代码。一旦用上了,作为一名不允许有一根黄线存在的强迫症患者,感觉又多了一些工作量。