10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

  • 2018-05-20
  • 本文字数:1251 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 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 API CPU 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

2018-05-20 19:001944

评论

发布
暂无评论
发现更多内容

Java 最新的JDK14.0.1调试成功

程李文华

程序员都惧怕的故障域

松花皮蛋me

Java 问题处理

LeetCode | 2. Reverse Integer 整数反转

Puran

Python C# 算法 LeetCode arts

重学 Java 设计模式:实战适配器模式

小傅哥

设计模式 小傅哥 重构 代码质量 代码坏味道

ARTS 01 - 技术人的理想主义

jerry.mei

算法 Vue 练习 ARTS 打卡计划 ARTS活动

Java 走过的创新25年

田晓旭

Java25周年

ARTS打卡week#1

对方正在输入…

ARTS 打卡计划

谈谈控制感(13):为什么是旁观者清?

史方远

读书笔记 个人成长 心理学 随笔杂谈

程序员的晚餐 | 6 月 2 日 红烧鸡爪的味道

清远

美食

有的线程它死了,于是它变成一道面试题。

why技术

源码分析 面试 jdk源码 线程池

分布式事务 - 理论模型

Java收录阁

分布式事务

LeetCode | 1. Two Sum 两数之和

Puran

Python C# 算法 LeetCode arts

带你学够浪:Go语言基础系列 - 8分钟学控制流语句

程序员柠檬

后台开发 Go 语言

游戏夜读 | 如何管理公司?

game1night

【大厂面试02期】Redis过期key是怎么样清理的?

NotFound9

Java 数据库 redis 架构 后端

【vue-openlayers】弹窗

德育处主任

html Vue 大前端 openlayers ol

工作的创新能力

punkboy

产品 重新理解创业 产品经理 创新突破 创新

微信小程序开发 | 如何在小程序中使用自定义 icon 图标

彭宏豪95

微信小程序 学习 编程 大前端 IT

【译】5 个你需要知道的 JavaScript 小技巧

零和幺

Java 大前端 技巧

SpringBatch系列入门之Tasklet

稻草鸟人

spring SpringBatch 批处理

一文入门JVM虚拟机

Simon郎

深入理解JVM

什么时候去面试

escray

【Sentry搭建之 docker-compose】

卓丁

DevOps Docker-compose CI/CD sentry

深入理解JVM内存管理 - 堆和栈

Skye

堆栈 深入理解JVM VM参数

架构演变之路:为何要搞微服务架构?

帅旋

Kubernetes 微服务 dubbo SpringCloud

坚持ARTS-week2

王钰淇

ARTS 打卡计划

centos7分区命令parted的用法(大于2T)

唯爱

初识 LeetCode

Puran

LeetCode arts

同一浏览器只允许登录一个账号

码上生长

Vue 大前端

路漫漫其修远兮

无心水

洞悉MySQL底层架构:游走在缓冲与磁盘之间

帅旋

MySQL 数据库 MVCC

Android Studio 3.2 Canary带来了更好的跟踪支持、Lint检查等特性_移动_Diogo Carleto_InfoQ精选文章