2018.03.28号,Android Studio 3.1 正式版正式发布新版本,我第一时间更新并体验了几天,总体来说特别不错,建议更新。
哈哈,先附上官网链接:http://www.android-studio.org/
我官网抄更新日志。
加强数据绑定 (Data Binding) 的相关支持,支持数据绑定 V2 版本
提高使用 Room (Google 数据持久化框架) 库的 SQL 编辑能力
性能检测工具更强大了
D8 默认编译开启也是个很开心的消息,整体上手使用还不错,建议升级!
来个翻译
编码/ IDE
IntelliJ 2017.3.3
核心的Android Studio IDE已经通过2017.3.3版本的IntelliJ IDEA进行了改进。改进包括对集合和字符串进行更好的控制流分析,改进的可空性推断,新的快速修复等等。
有关详细信息,请参阅适用于IntelliJ IDEA版本2017.2和2017.3的JetBrains发行说明,以及适用于错误修复更新的JetBrains发行说明。
使用Room进行SQL编辑改进
当您使用Room数据库库时,您可以利用对SQL编辑的一些改进:
Query中的代码完成可以理解SQL表(实体),列,查询参数,别名,联接,子查询和WITH子句。
SQL语法突出显示现在起作用。
您可以在SQL中右键单击一个表名并对其重命名,该表还会重写相应的Java或Kotlin代码(包括例如查询的返回类型)。重命名也适用于其他方向,因此重命名Java类或字段会重写相应的SQL代码。
显示使用查找用法时的SQL用法(右键单击并从上下文菜单中选择查找用法)。
要导航到Java或Kotlin代码中的SQL实体声明,可以在单击实体时按住Control(Mac上的命令)。
有关在Room中使用SQL的信息,请参阅使用Room将数据保存在本地数据库中。
更新数据绑定
此更新包含数据绑定的一些改进:
现在,您可以将LiveData对象用作数据绑定表达式中的可观察字段。 ViewDataBinding类现在包含一个用于观察LiveData对象的新setLifecycle()方法。
ObervableField类现在可以在其构造函数中接受其他Observable对象。
您可以预览数据绑定类的新增量编译器。 有关此新编译器的详细信息以及启用它的说明,请参阅数据绑定编译器V2。
新编译器的好处包括以下几点:
ViewBinding类由Java编译器之前的Android插件for Gradle生成。
库在编译应用程序时保留其生成的绑定类,而不是每次都重新生成。 这可以大大提高多模块项目的性能。
编译器和Gradle
D8是默认的DEX编译器
D8编译器现在默认用于生成DEX字节码。
这个新的DEX编译器带来了几个好处,包括以下几点:
更快的性能
降低内存使用量
改进的代码生成(更好的寄存器分配,更聪明的字符串表)
单步执行代码时有更好的调试体验
除非先前已手动禁用D8编译器,否则无需对代码或开发工作流进行任何更改即可获得这些好处。 如果在gradle.properties中将android.enableD8设置为false,请删除该标志或将其设置为true:
android.enableD8=True
有关详细信息,请参阅新的DEX编译器。
增量desugaring
对于使用Java 8语言功能的项目,默认情况下会启用增量式desugging,这可以缩短构建时间。
Desugaring将语法糖转换为编译器可以更高效地处理的形式。
您可以通过在项目的gradle.properties文件中指定以下内容来禁用增量式desugaring:
android.enableIncrementalDesugaring= FALSE
D8中的正在进行的脱钩(预览)
默认情况下,Java 8功能的解除在一个单独的过程中完成。 您可以通过在项目的gradle.properties文件中添加以下内容来在D8中启用集成的desugaring:
android.enableD8.desugaring=True
在D8中进行的这个在线解耦应该会减少使用Java 8功能的项目的编译时间。
简化的输出窗口
Gradle控制台已被Build窗口取代,该窗口具有Sync和Build选项卡。
有关如何使用新的简化Build窗口的详细信息,请参阅监视构建过程。
批量更新和索引并发性
Gradle同步和IDE索引进程现在效率更高,减少了许多冗余索引操作浪费的时间。
这里写图片描述
C ++和LLDB
我们在C ++开发的编码,同步,构建和调试阶段做了许多质量和性能改进。改进包括以下内容:
如果您使用大型C ++项目,则应该注意到缩短花费在构建符号上的时间方面的重大改进。大型项目的同步时间也大大缩短。
通过更积极地重复使用缓存结果,可以提高与CMake构建和同步时的性能。
为更多C ++数据结构添加格式化程序(“漂亮打印机”)使得LLDB输出更易于阅读。
LLDB现在仅适用于Android 4.1(API级别16)及更高版本。
注意:使用Android Studio 3.0或更高版本进行本机调试不适用于32位Windows。如果您使用32位Windows并需要调试本机代码,请使用Android Studio 2.3。
Kotlin
Kotlin升级到版本1.2.30
Android Studio 3.1包含Kotlin版本1.2.30。
现在使用命令行lint check分析Kotlin代码
从命令行运行lint现在分析您的Kotlin类。
对于您想要运行lint的每个项目,Google的Maven存储库必须包含在顶级build.gradle文件中。 Maven存储库已包含在Android Studio 3.0和更高版本中创建的项目中。
性能工具
使用CPU Profiler进行本地C ++进程示例
CPU Profiler现在包含一个默认配置,用于记录应用程序本地线程的采样痕迹。 您可以通过将应用程序部署到运行Android 8.0(API级别26)或更高版本的设备,然后从CPU Profiler的录制配置下拉菜单中选择Sampled(Native)来使用此配置。 之后,像往常一样记录和检查痕迹。
您可以通过创建记录配置来更改默认设置,例如采样间隔。
要切换回跟踪Java线程,请选择Sampled(Java)或Instrumented(Java)配置。
过滤CPU跟踪,内存分配结果和堆转储
CPU Profiler和Memory Profiler包含一个搜索功能,它允许您筛选记录方法跟踪,内存分配或堆转储的结果。
这里写图片描述
要进行搜索,请单击窗格右上角的过滤器,键入您的查询,然后按Enter键。
提示:您也可以通过按Ctrl + F(Mac上的Command + F)来打开搜索字段。
在CPU Profiler的Flame Chart选项卡中,包含与您的搜索查询相关的方法的调用堆栈被突出显示并移动到图表的左侧。
有关按方法,类或包名称过滤的更多信息,请参阅记录和检查方法跟踪。
网络分析器中的请求标签
Network Profiler现在包含一个Request选项卡,该选项卡提供有关选定时间线期间的网络请求的详细信息。在以前的版本中,Network Profiler仅提供有关网络响应的信息。
网络分析器中的线程视图
在Network Profiler中选择一部分时间线后,您可以选择以下其中一个选项卡以查看有关该时间段内网络活动的更多详细信息:
连接视图:提供与以前版本的Android Studio相同的信息 - 它列出了在时间轴的选定部分中跨应用程序的所有CPU线程发送或接收的文件。对于每个请求,您可以检查大小,类型,状态和传输持续时间。
线程视图:显示每个应用的CPU线程的网络活动。该视图允许您检查应用程序的哪些线程负责每个网络请求。
这里写图片描述
布局检查器
Layout Inspector获得了新功能,其中包括以前由不推荐使用的Hierarchy Viewer和Pixel Perfect工具提供的一些功能:
缩放按钮和用于导航和检查布局的键盘快捷键
参考网格叠加
能够加载参考图像并将其用作覆盖图(用于将您的布局与UI模型进行比较)
渲染子树预览以隔离复杂布局中的视图
布局编辑器
布局编辑器中的调色板已获得许多改进:
视图和布局的类别重组。
视图和布局的新常见类别,您可以使用“最喜欢的”命令添加该类别。
改进了对视图和布局的搜索。
用于打开特定视图或布局元素的文档的新命令。
您可以在组件树或设计编辑器中使用新的转换视图命令将视图或布局转换为其他类型的视图或布局。
现在,您可以使用属性窗口顶部的视图检查器中的新建创建连接按钮,轻松地为选定视图附近的项目创建约束。
这里写图片描述
布局编辑器中的调色板已获得许多改进:
视图和布局的类别重组。
视图和布局的新常见类别,您可以使用“最喜欢的”命令添加该类别。
改进了对视图和布局的搜索。
用于打开特定视图或布局元素的文档的新命令。
您可以在组件树或设计编辑器中使用新的转换视图命令将视图或布局转换为其他类型的视图或布局。
现在,您可以使用属性窗口顶部的视图检查器中的新建创建连接按钮,轻松地为选定视图附近的项目创建约束。
运行和即时运行
“选择部署目标”对话框中“为未来启动使用相同选择”选项的行为已更加一致。如果启用使用相同的选择选项,则选择部署目标对话框仅在您第一次使用运行命令时打开,直到所选设备不再连接。
针对运行Android 8.0(API级别26)或更高级别的设备时,Instant Run可以在不导致应用程序重新启动的情况下部署对资源的更改。这是可能的,因为资源包含在分离的APK中。
模拟器
有关自Android Studio 3.0以来模拟器中新增功能和更改内容的详细信息,请参阅27.0.2版到27.1.12版的Android模拟器发行说明。
主要改进包括以下内容:
快速启动快照,用于保存模拟器状态并加快启动速度,并可使用“立即保存”命令保存自定义启动状态。
无窗口模拟器屏幕。
Android 8.0(API级别26),Android 8.1(API级别27)和Android P Developer Preview的系统映像。
用户界面和用户体验改进
更多工具提示,键盘快捷键和有用的消息
我们在Android Studio的许多地方都添加了工具提示和有用的消息覆盖。
要查看许多命令的键盘快捷键,只需将鼠标指针悬停在按钮上,直到出现工具提示。
工具> Android菜单删除
工具> Android菜单已被删除。之前在此菜单下的命令已被移动。
许多命令直接移至工具菜单下。
带有gradle files命令的Sync项目移至文件菜单。
Device Monitor命令已被删除,如下所述。
设备监视器可从命令行获得
在Android Studio 3.1中,设备监视器的作用不如以前。在许多情况下,通过设备监视器可用的功能现在由新的改进工具提供。
有关从命令行调用设备监视器的说明以及有关通过设备监视器可用的工具的详细信息,请参阅设备监视器文档。