转载请注明出处
Android Studio更新
Android Studio是我们Android开发的必备工具,所谓工欲善其事,必先利其器,所以我们自然要熟悉我们的开发工具。当前最新版本是19年更新的3.3版本,在工具栏Help > Check for updates更新之后我们一起来看看3.3更新了那些功能,可以提高我们的开发效率,在一月推出3.3版本之后,又分别在2月推出3.3.1、3月推出3.3.2两个小版本。
更新之后我们会发现,当前版本相比于新的特性的更新,更加注重基础质量的提升。在官网可以看到,3.3这个版本解决了200多个用户提交的bug,同时对于导航编辑器的官方支持等功能。下面我们会通过今天的文章,对于3.3这个版本进行深度了解。
更新概述
这次更新主要从以下四个方面
开发
- 导航编辑器
- IntelliJ 2018.2.2 平台更新
- Kotlin 1.3.11 更新
- Clang-Tidy 对 C++ 的支持
- 新项目向导更新
- 删除未使用的 IDE 目录
构建
- 强化注释处理器对 Java 增量编译的支持
- 延迟任务配置
- 单变体项目同步
- Android App Bundles 现已支持即时应用
测试
- 启动多个模拟器 AVD 实例
- Android 9 Pie - 模拟器系统镜像
- 加快模拟器快照的保存速度
优化
- 分析器性能优化
- 内存分析器: 分配跟踪选项
- 内存分析器: 分配跟踪选项
- CPU 分析器: 帧渲染数据
详细介绍
Navigation Editor(导航编辑器)
这个主要是一款可视化的编辑器,主要用于构建支持新的Jetpack导航组件的XML资源来使用的。开发者可以通过Navigation Editor和导航组件在应用屏幕和内容区域之间构建可预测的交互。结构如下图
(之后,我会完善Navigation Editor详细介绍的文章,敬请关注简书、公共号获取最新文章)
IntelliJ 平台更新
Android Studio 3.3 包含 IntelliJ 2018.2.2 版本。作为 JetBrains 的重要平台更新,IntelliJ 2018.2.2 带来了不少出色的新特性和功能优化,如: 新的代码编辑器预览功能、图标更新、MacBook 触控条支持、控制集成优化等。
Kotlin 更新
Android Studio 3.3 捆绑了 Kotlin 1.3.11,包含对 Kotlin 协程 (Coroutines) 与合约 (Contracts) 的支持,并且 IDE 支持推荐的 Kotlin 编码风格
Clang-Tidy 支持
开发者现在可以在 Android Studio 现中使用 Clang-Tidy 对 C++ 代码进行静态分析。与 Studio 中用于检查 Java 和 Kotlin 代码的 lint 工具相似,Clang-Tidy 可以检测包含 C ++ 代码的 Android 应用中是否存在常见编码问题和错误。请依次勾选 Settings Editor Inspections (MacOS 中为 Preference Editor Inspections) ,开启该功能。
新项目向导升级
Android Studio 改进新项目向导后,可以支持更多的设备类型、编码语言和新框架。与此同时,用户体验也有所改善,开发者可以通过更简便的方式获取相同的新项目模板。
删除未使用的 IDE 目录
为了顺利升级至最新版 Android Studio, 您可以使用我们添加的一项新功能来清除未使用的设定和缓存目录。历史版本 Android Studio 会在硬盘中留下一些旧目录,它们既不容易找到,也不方便清除。当您第一次运行 Android Studio 3.3 (或更高版本) 时,新对话框会显示历史安装生成的目录,并提醒您进行安全删除操作。
这个功能很好用,直接节约了很多的空间
IDE 用户反馈
Android Studio 新添加了心情图标,帮助快速收集用户反馈,并用于改善产品质量。如果您已选择分享使用情况统计信息,请点击最能代表您当下使用体验的图标。如果您尚未启用分享使用情况统计信息,可以通过以下步骤予以启用: Settings Appearance & Behavior System Settings Data Sharing (MacOS 中为 Preferences Appearance & Behavior System Settings Data Sharing) 。
说实话,对于国内有墙的开发者来说,并没有什么卵用
加强注释处理器对 Java 增量编译的支持
在此项更新中,改进了注解编译器对 Java 增量编译的支持,从而有效缩短了构建时间。如果想要使用此功能,请确保已经下载 Android Grandle plugin 3.3.0 或更高版本。
todo
延迟任务 (lazy task) 配置
通过调用 Gradle 中的新任务创建 API,该插件可以避免开启或配置不需要在当前构建中完成的任务 (或者不在执行任务图上的任务)。比如说,假设同时拥有多个构建变体,如 “release” 和 “debug” 构建配置,而当前您正在构建应用的 “debug” 版本,该插件可避免启动或配置任何 “release” 版本中的任务。
单变体项目同步
如果应用项目的规模较大,而且需要同时维护多个构建变体,那么除构建速度以外,项目的同步速度也有可能成为开发瓶颈。该版本 IDE 允许开发者限定仅同步当前所选的变体。如需使用该优化,请确保项目已添加 Android Grandle plugin 3.3.0 或更高版本。该功能为实验功能,您需要在 Android Studio 3.3 中的实验偏好设置中手动开启。
Android App Bundles 现已支持即时应用 (Instant Apps)
可在单个 Android Studio 项目中构建并部署 Google Play Instant 体验,并将它们整合到一个 Android App Bundle 中。Android App Bundle 是去年新推出的 Android 应用标准发布格式,开发者可以通过 Android Studio 构建 App Bundle 文件。此项更新能够精简并统一上传至 Google Play 的构建工件。
对于国内众多厂商没有Google Play来说恐怕这个功能是无法体验了
多个模拟器 AVD 实例
Android 模拟器 28.0 现已支持为同一台 Android 虚拟设备 (ADV) 同时启动多个实例。每个实例均占用最低限度的系统资源。如果已部署持续集成 (CI) 测试环境,该功能可以让在一套 AVD 配置上并行运行多个测试。具体操作,请运行下列命令行:
$./emulator -avd <avdname> -read-only &
$./emulator -avd <avdname> -read-only &
Android 9 Pie 模拟器系统镜像和 Wi-Fi P2P
除了 Android 3.3 之外,还可以为模拟器下载 Android 9 系统镜像文件,以便在本地进行应用测试。Google Play 模拟器系统镜像文件不仅具备 Android CTS (兼容测试套件) 认证,而且提供 Wi-Fi P2P 技术支持,允许两台模拟器以点对点形式直接互联。如需使用该特性,请通过以下命令行启动模拟器 (v28.0.22 或更高版本),并确保这两个模拟器共用一个 Wi-Fi 服务器和客户端口命令行参数。
$./emulator @<server-avd-name> -wifi-server-port 9999
$./emulator @<client-avd-name> -wifi-client-port 9999
模拟器快照保存速度
开发者十分喜欢使用快照和 Quick Boot 功能,但是感觉模拟器的关闭速度以及 Quick Boot 保存快照速度稍微慢了点。为了解决这个问题,优化了快照的保存和管理方式,改用映射文件来保存客户机 RAM。据统计结果显示,优化之后,Quick Boot 保存快照的平均用时从 27 秒降至 3 秒 - 速度提升了整整 8 倍。
随着模拟器的功能逐渐完善和优化,更多功能可以采用模拟器来开发了
分析器性能优化
根据开发者的反馈,在这次版本更新中大幅改进了 Android Studio 中各个分析器的性能。本地测试结果显示,平均帧率提高了 2 倍。
内存分析器的跟踪内存分配选项
旧版 Android Studio 在默认设置下,偶尔会出现应用性能显著下降的问题。为了解决这个问题,将内存分析器在 Android 8.0 或更高版本设备上的默认捕捉模式更改为定期取样内存分配数据。可以在分配跟踪的下拉菜单中调整具体设置。默认情况下,我们会在 CPU 记录时暂时关闭内存分配跟踪功能,以便尽可能减少对记录结果的影响。
(对于“如何通过分析过程提升应用性能表现”之后会有推出相关文章,敬请关注简书、公共号获取最新文章)
网络分析器的格式化文本支持
在默认设置下,Android Studio 3.3 中的网络分析器会对网络负载中的常见文本类型进行格式化操作,包括 HTML, XML 和 JSON。如果您需要在格式化文本和原始文本之间进行切换,请在标签栏中选择 Response 或 Request,然后点击 View Parsed / View Source 选项。
(这个功能可以网络请求进行分析,之后会有推出详细介绍该功能文章,敬请关注简书、公共号获取最新文章)
CPU 分析器支持帧渲染数据
当使用 Trace System Calls 进行记录时,CPU 分析器会显示UI 主线程和渲染线程每一帧的渲染时间。这些数据可以帮助如果诊断出应用中 UI 卡顿的瓶颈所在和具体原因,并且为指明优化方向。
(这个功能的详细介绍和使用方法,之后会有推出详细介绍该功能文章,敬请关注简书、公共号获取最新文章)
总结
我们可以看到本次更新,最主要的有四点
-
Navigation editor 导航编辑器
可以让创建的目标,通过定义参数让各个目标之间过度。并且通过使用导航架构,可以查看整个应用程序的流程。并且可以拖拽来完成链接每一个目标。
-
Profiler tracking options 分析器配置更新
当前分析器运行运行在API>=26版本的设备。如果应用使用的API是过时的也不必担心,Android Studio现在为我们提供了更详细的调试信息。只需要我们在gradle.properties文件当中添加
android.debug.obsoleteApi = true
-
Improvements on the build system 系统构建的改进
可以看到,Android Studio的构造时间是被众多开发者所吐槽的,自然Google工程师在这方面也在持续关注并且在坐着优化在这个版本当中,使用了注释处理器时,提高了Java的编译效率。同时还增加了一个新的代码缩放器命名为R8它比ProGuard更快。不需要代码更改,只需要在我们的gradle.properties文件当中添加
android.enableR8 = true
-
Lazy task configuration 懒任务配置
增加这个功能是避免在Gradle配置阶段创建未使用任务的成本。可以在同一个项目当中创建及时应用程序,对于每个设备来说优化APK,即时运行app等提高用户体验。
最后
相信通过这片文章,让大家对于Android Studio3.3 有个简单的了解。工欲善其事,必先利其器只有详细的了解了我们的开发工具之后,才能提高我们的开发效率!