作为 Google 官方出版并维护的 IDE,被全球数以百万计的 Android 开发者钟爱并使用的开发工具,Android Studio,在前几天的三月二号,正式迎来了 2.3 稳定版的更新。身为 Android 迷的你,赶快来和我一起看看新版 Android Studio 给我们带来了哪些变化吧。
编译相关
Instant Run 的改进和 UI 变化
Instant Run 基本上能够解决中小型项目的编译缓慢问题。作为 Google 重点关注的一个功能,Android Studio 2.3 版本在原来的基础上再次做了优化,进一步减少安装替换代码的时间。同时,在 Android Studio 的导航栏上将 run 和 instant run 按钮分开显示,供开发者选择调试策略。
Build Cache
编译缓存是 Android Studio 2.2 版本被引入的的一个功能,能够缓存项目中导入的 AAR、Libray,能够加快调试过程中的编译时间。新版本在此基础上进一步优化,同时默认打开这个功能,在 2.2 版本上默认处于关闭状态。
设计相关
约束布局中的链接和比例
Constraint Layout (约束布局) 想必大家有所耳闻了,但不知道是否用的习惯,目前我还没有在项目中正式使用。不过 Google 官方对此布局方式尤为看重,这不新版 Android Studio 又来改进了。介绍改进点之前,先给大家推荐一篇「郭霖」对于约束布局的介绍,非常详尽: Android新特性介绍,ConstraintLayout完全解析 。看完之后,保证你一定跃跃欲试。
2.3 版本的 Android Studio 支持在约束布局中使用链接(Chains)和比例(Ratios)。Chains 的概念大致是,在使用约束布局的 layout 中,我们可以链接多个控件,一起设置约束条件,比如:
Ratios 的概念也比较好理解,看图说话:
Chains 和 Ratios 都支持动态设置,有相应的 ConstraintSet APIs 可用。
布局控件面板
如果你经常使用拖拽控件的形式设计布局的话,那这个更新点对你简直如虎添翼。新版 Widget Palette 提供搜索、排序和过滤功能,帮助我们找到所需要的控件。同时,在你选择拖拽之前,提供对应控件的 UI 预览。如图:
收藏常用属性
在 layout design 模式下,我们可以在 Properties 面板中保存常用属性,然后这些属性就会出现在收藏区域,帮助我们快速使用。如图:
支持 WebP
相比 PNG 格式的图片,WebP 无损压缩格式能够减少 25% 的文件大小。在 Android Studio 2.3 版本中,我们可以自由转换图片格式,PNG to WebP,或者是 WebP to PNG,同时你还可以通过控制质量从而调整文件大小。如图:
Material Icon 库
新版的 Material Icon 矢量图标库支持搜索过滤功能,同时为每个 Icon 设置相应的 Label,以供搜索。一个非常人性化的改进:
开发相关
Lint 基准线
Android Lint 是优化项目必不可少的一个工具,使用中你可能会遇到这样的问题。在此之前,每次执行 Lint 命令,该工具会自动遍历所有的目标文件,并将不符规范的问题分类列举出来,然后我们一一处理。但如果你没有处理完的话,再次 Lint 时就又得从头开始解决问题,新旧问题融合到一起。此时如果你只想处理新的问题的话,就无迹可寻。而基准线(BaseLine)的出现就能解你燃眉之急。给每一次执行 Lint 设置一个 BaseLine,让你只想解决新 issues 的想法成为可能。
Learn more and new Lint checks & annotations
App Links 助手
在 2015 年 I/O 大会上,Google 正式宣布 Android M 系统支持 App 链接,在 web url 到 native app 之间建立关联通道。比如,点击手机短信中的 url 链接和浏览器中的某个 url 就可以打开支持 App Links 的相应 App,一个非常赞的设计。要做到这个功能,需要在项目中添加相应的设置,修改 Manifest 文件等。新版本开发工具提供了可视化的工具帮助我们进行这些设置,如:
模版更新
从 Android Studio 2.3 版本开始,新建项目时用到的所有 templates 默认使用 ConstraintLayout,而在此之前,默认都是 RelativeLayout。这一点,也再次说明约束布局的重要性。同时,新版也增加一个新的底部导航模式的模板,默认实现 Material Design 设计中的 Bottom Navigation,设计细节参考: guideline 。
IntelliJ Platform 更新
Android Studio 2.3 版本使用 IntelliJ 2016.2 release,在一些 IDE 上的更新窗口和通知系统上有所改进。
测试相关
安卓模拟器复制粘贴功能
为响应广大开发者的需求,Google 在新版模拟器 (v25.3.1) 上实现了 PC 主机和模拟器之间的相互复制粘贴功能,主要通过共享剪贴板实现。需要注意的事,Copy & Paste 功能仅在 x86 Google API Emulator 同时 API Level 19(Android 4.4-Kitkat)和更高版本中起到作用。效果如图:
安卓模拟器命令行工具
Android SDK Tools 25.3 开始,SDK Tools 文件夹中的 emulator 文件被转移到一个独立的模拟器文件夹,过去使用的 android avd
命令被废弃和替换。如果过去你使用到有关于此的脚本文件就需要在目录路径上稍作改动。当然,如果使用 Android Studio 启动模拟器的话,不受任何影响。