[译]Android Studio 3.6 新特性概览

设计

设计编辑器

设计编辑器(好比布局编辑器和导航编辑器)如今提供了一个拆分视图模式,可以同时查看 UI 界面的 Design 视图和 Code 视图。拆分视图取代并改进了早期的预览窗口,而且能够对每一个文件进行设置,而且能够保存上下文信息,好比:缩放比例和设计视图选项等。想要开启拆分视图,单击编辑器窗口右上角的拆分图标便可。相关文档:https://medium.com/androiddev...html

颜色资源选择器

在这个版本中,经过颜色资源选择器能够快速的在应用程序中选择和替换颜色资源值。在设计工具和 XML 编辑器均可以使用颜色资源选择器。java

开发

View binding

View binding 是一个新特性,它经过在代码中引用视图时提供编译时安全性,使咱们可以更容易地编写与视图交互的代码。若是启用,视图绑定将为模块中的每一个 XML 布局文件生成绑定类。在大多数状况下,视图绑定取代 findViewById 方法。咱们能够在代码中引用全部具备 ID 的 view,但不会有空指针或类强制转换的错误风险。这些差别意味着布局和代码之间的不兼容将致使编译时而不是运行时的构建失败。要在项目中启用视图绑定,请在每一个模块的 build.gradle 文件中包含如下内容:android

android {
    viewBinding.enabled = true
}

一位 GDE 写的 View binding 相关 blog:https://medium.com/google-dev...android-studio

Android NDK 更新

如下 Android Studio 中的 NDK 特性,之前在 Java 中支持,如今在 Kotlin 也支持:安全

  • 从 JNI 声明跳转到 C/C++ 中相应的实现函数。经过将鼠标悬停在源代码文件中靠近行号的 C/C++ 项标记上来查看函数的映射
  • 为 JNI 声明自动建立一个 stub 实现函数。首先定义 JNI 声明,而后在 C/C++ 文件中输入“ JNI” 或方法名称来激活

更多详细信息:https://developer.android.goo...网络

IntelliJ Platform 更新

Android Studio 包含 IntelliJ 2019.2 版本的全部特性。 这个 IntelliJ 版本包括许多改进,重新的服务工具窗口到大大改进的启动时间。更多详情:https://blog.jetbrains.com/id...intellij-idea

Add classes with Apply Changes

如今能够添加一个类,而后经过单击 Apply Code ChangesApply Changes and Restart Activity 按钮将代码变动部署到正在运行的应用程序中。关于 Apply Cahnges 的更多详情:https://developer.android.goo...app

构建

Android Gradle 插件更新

Android Gradle 插件 3.6 以及更高版本包括对 Maven Publish Gradle 插件的支持,这个插件可让咱们将构建产物发布到 Apache Maven 仓库中。Android Gradle 插件为应用程序或库模块中的每个 build variant 建立一个组件,咱们可使用该组件将构建产物发布到自定义的 Maven 仓库中。这一变动将使咱们更容易地管理各类 targets 的发布周期。更多详情:https://developer.android..go...maven

新的打包工具

Android 构建团队一直在努力的改进构建性能,在这个版本中,将开发调试模式时的默认打包工具改成了 zipflinger。这样在调试开发的时候构建速度将会有所提升,可是咱们也能够在 gradle.properties 文件中设置 android.useNewApkCreator=false 来改用旧的打包工具。编辑器

编辑 gradle.properties 文件以禁用新的打包工具

Test

Android 模拟器-谷歌地图界面

Android Emulator 29.2.12 为 App 开发人员提供了一种新的操纵模拟设备位置的新方法。在扩展控件菜单中嵌入了谷歌地图用户界面,方便开发人员更容易地指定位置,也能够根据两个地点位置建立导航路线。并且单个一个位置还能够保存并从新做为虚拟位置发送到模拟器,路线导航也能够经过输入地址或单击两个点来生成。这些路线导航能够能够实时回放,路线导航沿线的位置信息也会被发回到模拟器的系统内。

带有实时定位流的 Android 模拟器定位 UI

多个屏幕支持

Emulato 29.1.10 更新了对多个虚拟屏幕的初步支持。随着愈来愈多的设备可使用多个屏幕,在多种屏幕配置上测试你的应用程序是很是重要的。能够经过设置菜单(扩展控件设置)配置多个屏幕。

Android 模拟器中的多显示支持

在 Android 模拟器扩展控件面板中配置辅助显示

断点续传下载 SDK

当使用 Android Studio SDK Manager 下载 Android SDK 组件和工具时,Android Studio 如今能够继续以前中断的下载(例如,因为网络问题) ,而不是从头从新下载。在网络链接不可靠的状况下,这个更新对须要下载大的 SDK 组件和工具时很是有帮助,好比 Android 模拟器或系统映像。

暂停并继续 SDK 下载

In-place updates for imported APKs

Android Studio 容许咱们导入外部构建的 APKs 来调试和分析它们。之前,当对这些 apk 进行更改时,咱们必须再次手动导入它们而且须要从新添加符号表和源代码。Android Studio 3.6 如今能够自动检测导入的 APK 文件所作的更改,而且会提供一个从新导入该文件的选项。

Attach Kotlin sources to imported APKs

咱们增长了对将 Kotlin 源文件附加到导入的 apk 的支持。 要了解更多信息,请参见 Attach Kotlin/Java 源代码。

将 Kotlin/Java 源代码附加到导入的 APKs

优化

在内存分析器中检测内存泄漏

根据反馈,Android Studio 开发团队在内存分析器中添加了检测可能泄漏的活动和片断实例的功能。首先,在内存分析器中捕获或导入堆转储文件,而后选中 activity/fragments Leaks 复选框就会生成检测结果。相关文档:https://developer.android.goo...

检测内存分析器中泄漏的活动和片断

Deobfuscate class and method bytecode in APK Analyzer

当使用 APK 分析器检查 DEX 文件时,如今能够对类和方法字节码进行去混淆处理。 在 DEX 文件查看器中,加载正在分析的 APK 的 ProGuard 映射文件。 加载后,就能够经过右键单击要检查的类或方法,而后选择 Show Bytecode 来去除混淆。

在 APK 分析器中经过选择 Show Bytecode 来消除类和方法字节码的混淆

做者:Scott Swarthout 原文地址: https://android-developers.go...
199元学习大礼包: 点击领取
原文地址: https://androidweekly.io
版权声明:禁止一切形式的转载-禁止商用-禁止衍生
公众号: Android开发技术周刊
扫码关注 Android 开发技术周报公众号
相关文章
相关标签/搜索