Android Studio 4.0 的亮点包括:新的 Motion Editor(动做编辑器),让你的应用栩栩如生;Build Analyzer(构建分析器),用来探索构建速度降低的缘由;以及一众 Java 8 语言 API,不管你的应用的最小 API 级别是多少都能用。根据用户反馈,咱们还大幅改动了 CPU Profiler(CPU 分析器)的用户界面,以提供更直观的工做流程和更易用的线程活动并排分析。改进的 Layout Inspector(布局查看器)如今能够提供应用 UI 的实时数据,所以你能够轻松准确地调试设备上显示的内容。html
每一个新版本的发布都要感谢测试用户的反馈信息。若是你已准备就绪,如今就能够访问官方网站下载 Android Studio 4.0:java
http://d.android.com/studioandroid
https://youtu.be/f1fHPqAYj5Iweb
MotionLayout API 扩展了 ConstraintLayout 的丰富功能,可帮助 Android 开发人员在应用中管理复杂的运动和小部件动画。在 Android Studio 4.0 中,新的 Motion Editor 让这个 API 用起来更方便。它提供了用于建立、编辑和预览 MotionLayout 动画的强大界面。你用不着再建立和修改复杂的 XML 文件,Motion Editor 会为你生成它们,并支持约束集合、过渡、关键帧和视图属性的编辑。若是你想查看编辑器建立的代码,只需点一下便可。对于正在使用 ConstraintLayout 的开发人员来讲,这个 IDE 能够轻松将其转换为 MotionLayout。更多信息参考:面试
http://d.android.com/studio/write/motion-editor编程
在 Motion 编辑器中建立、编辑和预览动画android-studio
想要调查特定属性的值的源头?或者想经过嵌套视图的实时 3D 表示,更轻松地检查视图层次?借助新的 Layout Inspector,你能够得到正在运行的应用中的最新数据,并得到关于资源解析的深度信息,从而更直观地调试 UI。性能优化
使用 Live Layout Inspector 实时调试应用 UI微信
从主菜单选择 View > Tool Windows > Layout Inspector 就能够启用实时 Layout Inspector。部署到运行 API 29 或更高版本的设备还能得到其余特性,例如动态布局层次结构(随视图更改而更新)、详细的视图属性(还能够帮助你肯定资源值是如何解析的)以及正在运行的应用 UI 的 3D 模型。它能够在当前运行应用上的视图之间导航、动画化和过渡,同时还能保持像素级调试 UI 的能力。更多信息参考:app
https://medium.com/androiddevelopers/layout-inspector-1f8d446d048
使用 Layout Validation 在多个屏幕上对比 UI
当你为多种屏幕规格、屏幕尺寸和分辨率开发应用时,须要验证对 UI 所作的更改在所支持的每一个屏幕上都能正常显示。使用 Layout Validation(布局验证)窗口,你能够同时在多个不一样的屏幕和配置上预览布局,轻松确保你的应用兼容各类屏幕尺寸。单击 IDE 右上角的 Layout Validation 选项卡便可启用。
CPU Profiler UI 升级
改进的 CPU Profiler UI
CPU Profiler 能够提供关于应用的线程活动和跟踪记录的大量信息。在 Android Studio 4.0 中,CPU 记录如今与 Profiler 主时间轴分开显示,并按组分类以简化分析过程。你能够上下移动组,或者在组中拖放项目以定制界面。
线程活动的并排分析更轻松
为了更轻松地进行并排分析,你如今能够在 Thread Activity(线程活动)时间轴中查看全部线程活动(包括方法、函数和事件),并使用新的导航快捷方式轻松移动数据(例如使用 W,A,S 和 D 键精确缩放和平移)。咱们还从新设计了 System Trace(系统跟踪)UI,为事件添加了各自的颜色来方便区分,对线程进行排序,把较忙的线程放在前面,并且如今你能够只查看所选线程的数据。最后,咱们改进了 CPU Profiler 的质量,显著下降了录制错误率。更多信息参考:
http://d.android.com/studio/releases#cpu-profiler-upgrades
编写 R8 规则时的智能编辑器功能
R8 是在 Android Gradle 插件 3.4.0 中引入的,可将 desugaring、缩减、混淆、优化和 dexing 合并为一个步骤,从而显著提升构建性能。在为 R8 建立规则文件时,Android Studio 如今提供了智能编辑器功能,例如语法高亮显示、自动完成和错误检查。该编辑器还与你的 Android 项目集成,为全部类、方法和字段提供完整的符号补全,还有快速导航和重构。
核心 Android Studio IDE 已更新,加入了 IntelliJ IDEA 2019.3 和 2019.3.3 版本以来的改进。这些改进主要是整个 IDE 的质量和性能改进。
实时模板(Live Templates)是 IntelliJ 的一项便捷功能,容许你输入简单的关键字将常见的构造插入代码中。Android Studio 如今为你的 Kotlin 代码提供了 Android 专属的实时模板。例如,只需键入 Toast,而后按 Tab 键便可快速插入 Toast 的样板代码。有关可用实时模板的完整列表,请转至 Settings(或 Preferences)中的 Editor > Live Templates。
对于编写 C++ 的开发人员,咱们已转向 clangd(https://clangd.llvm.org/)做为主要的语言分析引擎,用于代码导航、完成、检查以及显示代码错误和警告。如今 Android Studio 还打包了 clang-tidy。要配置 Clangd 或 Clang-Tidy 行为,请转到 Settings(或 Preferences),导航到 Languages & Frameworks > C/C++ > Clangd/Clang-Tidy,而后配置选项。
Android Gradle 插件 4.0.0 使用 Java8 语言 API(不管你的应用的最低 API 级别如何)对 Android Studio 的 Bulid Analyzer 提供支持,并在动态功能(Dynamic Feature)模块之间建立了功能对功能的依赖。有关完整的更新列表,请阅读 Android Gradle 插件 4.0.0 发行说明:
http://d.android.com/studio/releases/gradle-plugin#4-0-0
使用 Build Analyzer 解决构建性能中的瓶颈
Android 开发人员依靠各类 Gradle 插件和自定义构建逻辑来为应用量身定制构建系统。可是,过期或错误配置的任务可能会致使更长的构建时间,不只使人沮丧,还会拖累生产率。Build Analyzer 能够高亮显示最影响构建时间的插件和任务,并提供缩短期的步骤建议,从而帮助你了解和解决构建中的瓶颈。更多信息参考:
http://d.android.com/studio/build/build-analyzer
早期版本的 Android Gradle 插件经过称为 desugaring 的过程,在全部 API 级别上支持各类 Java8 语言功能,例如 lambda 表达式和方法引用。在 Android Studio 4.0 中,不管你的应用的 minSdkVersion 如何,均可以使用 desugaring 引擎来支持 Java 语言 API。这意味着你如今可使用标准语言 API 了,之前它们只在最新的 Android 版本中可用(例如 java.util.stream,java.util.function 和 java.time)。更多信息参考:
http://d.android.com/studio/write/java8-support
功能上的依存关系
使用 Android Gradle 插件 4.0.0 及更高版本时,你如今能够指定一个动态功能模块依赖于另外一个功能模块。这种关系可确保你的应用具备所需的模块来提供新的功能,从而减小请求并更好地模块化。例如,:video 功能能够依赖:camera 功能。若是用户想使用录制视频的功能,则你的应用在请求:video 时会自动下载所需的:camera 模块。更多信息参考:
http://d.android.com/studio/releases#4-0-0-feature-plugin
Android Gradle 插件具备对不少现代库(例如数据绑定和视图绑定)及构建功能(例如自动生成的 BuildConfig 类)的内置支持。可是,你可能不是每一个项目都须要这些库和功能。在该插件的 4.0.0 版本中,你如今能够单独禁用构建功能,以下所示,这能够优化大型项目的构建性能。有关 DSL 和你能够控制的功能的完整列表,请参见发行说明:
android {
// The default value for each feature is shown below.
// You can change the value to override the default behavior.
buildFeatures {
// Determines whether to support View Binding.
// Note that the viewBinding.enabled property is now deprecated.
viewBinding = false
// Determines whether to support Data Binding.
// Note that the dataBinding.enabled property is now deprecated.
dataBinding = false
...
}
}
Android Gradle 插件 DSL,用于启用或禁用构建功能
Android Studio 4.0 如今已经内置了对 Kotlin DSL 构建脚本文件(*.kts)的支持,这意味着 Kotlin 构建脚本提供了一套完整的快速修复程序,并由 Project Structure(项目结构)对话框提供支持。咱们将在明年继续完善 Android Gradle 插件的 DSL API,这可能会致使 Kotlin 脚本用户的 API 更改中断。从长远来看,这些修补程序将为 Kotlin 脚本用户提供更加熟悉,易于使用的 DSL。
使用 Android Gradle 插件 4.0.0 及更高版本构建应用时,插件会包含描述已编译到你应用中的库依赖项的元数据。上传应用时,Play 控制台会检查这些元数据,以提供有关应用使用的 SDK 和依赖项已知问题的警报,并在某些状况下提供可解决这些问题的可行反馈。
android {
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
// Disables dependency metadata when building Android App Bundles.
includeInBundle = false
}
}
禁用 APK 和 / 或应用包的依赖项元数据回顾一下,Android Studio 4.0 包括如下新的功能与改进:
Motion Editor:用于建立、编辑和预览 MotionLayout 动画的简单界面
Layout Inspector 升级:实时,更直观的调试体验
Layout Validation:跨多个屏幕尺寸比较你的 UI
CPU Profiler 更新:使 UI 导航起来更加直观,而且让数据更易于理解
R8 规则更新:用于代码缩减规则的智能编辑器功能,例如语法高亮显示、完成和错误检查
IntelliJ IDEA 2019.3 平台更新,以提升性能和质量
实时模板更新:Kotlin 代码的 Android 专用实时模板
Clangd 支持:默认启用 Clangd 和 Clang-Tidy
Bulid Analyzer:了解并解决构建中的瓶颈
Java 8 语言支持更新:不管你的应用的最低 API 级别如何,都可使用这些 API
功能对功能的依赖:定义动态功能模块之间的依赖关系
buildFeatures DSL:启用或禁用单独的构建功能,例如数据绑定
Kotlin DSL:对 Kotlin DSL 脚本文件的基本支持
有关改动的完整列表,请阅读官方发行说明
http://d.android.com/studio/releases#4-0-0
若是你使用的是早期版本的 Android Studio,只需将其更新为最新版本便可。或者从这个页面下载 Android Studio 4.0。
http://d.android.com/studio/
与往常同样,咱们感谢你们的任何反馈。若是发现错误或问题,请提交 issue。
https://android-developers.googleblog.com/2020/05/android-studio-4.html
---END---
本文分享自微信公众号 - 技术最TOP(Tech-Android)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。