Android Studio 3.2 Canary 带来了更好的跟踪支持、Lint 检查等特性

阅读数:779 2018 年 5 月 20 日

话题:移动Android语言 & 开发

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Google 在 Canary 和 Dev 频道上发布了 Android Studio 3.2 Canary。这个版本是核心 Android Studio IDE 的功能增强,同时还包括新的 Android Profiler、Android Jetpack、导入 / 导出 CPU 跟踪数据、记录启动时的 CPU 活动、Lint 检查等功能。

核心 Android Studio IDE 针对2018.1.1 发布版本的IntelliJ IDEA 进行了增强,这主要是一个 bug 修正的更新,其中包括一项主要的修正,这个功能修正能够恢复自动检查更新。

Android Jetpack 是一组库、工具和架构指导,用来帮助开发人员更快捷更轻松地构建伟大的应用。

现在,我们可以将 Profiler 数据保存为“sessions”,并且能够稍后对其进行重新访问和探查(profiler 会一直保存数据,直到 IDE 下次重启)。

CPU Profiler中有了一个新的 System Trace,它能够允许开发人员探查设备的系统 CPU 和线程活动。另外,它对于探查系统级别的问题也是很有用的,比如 UI 卡顿(UI jank);借助 Trace 类来 instrument 代码,我们可以在 profiler 时间线中可视化地标记重要的代码程序。

借助 Android Studio 3.2,我们可以使用Memory Profiler来探查 JNI 引用。如果你将应用部署到 Android 8.0(API 级别 26)或更高版本的设备上的话,还能探查 JNI 代码的内存分配。

另外一个新特性只能用于部署到 Android 8.0 及以上的应用中,那就是记录应用启动过程中的 CPU 活动。我们可以将 CPU 活动记录为一个“trace”文件,还能将Debug APICPU profiler创建的“.trace”导入到 Android Studio 3.2 中并进行探查。

Android Studio 3.2 针对lint 检查提供了很多全新和改善性的特性。Android Studio 3.2 添加了新的 lint 检查,以确保 Java 代码和 Kotlin 代码能够很好地进行相互操作。这些检查包括对 Nullability 注解的查找、将 lamba 参数设置在最后等。为了启用该功能,我们需要在 build.gradle 中添加如下的设置。

android {
  lintOptions {
    check 'Interoperability'
  }
}

Android Studio 3.2 带来的其他功能改善包括:

  • Data Binding Library 2;
  • 用来进行代码压缩和混淆的新工具 R8,它将取代 ProGuard;
  • 改善 CMake 构建文件的编辑器,支持语法高亮和代码补全、代码格式化以及安全地重构;
  • 外部头文件的导航;
  • 默认启动原生的 multidex;
  • AAPT2 转移到了 Google 的 Maven 仓库;
  • Android P Developer Preview;
  • 示例数据,在应用设计时允许开发人员使用占位数据;
  • Material Design 更新;
  • What's New Assistant,一个新的辅助面板,在更新之后自动打开,通知用户 IDE 最近的变更;
  • Emulator Snapshots 结合Quickboot能够为任意的模拟器状态创建快照,并且能够在两秒之内启动。

如果你已经有了Canary 或 Dev 频道的 Android Studio 构建版本,那么可以选择 Help > Check for Updates(在 Mac 下是 Android Studio > Check for Updates)进行更新。否则的话,可以在这里进行下载

查看英文原文:Android Studio 3.2 Canary Brings Better Traces Support, Lint Checking, and More