AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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:001749

评论

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

一名MindSpore新手的爬坑记录~~

依旧廖凯

28天写作 3月日更

Elasticsearch Document 写入原理

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

你最喜欢的奥斯卡电影是哪部?

wbliu85

Wireshark数据包分析学习笔记Day9

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

原来我还有网络天赋

叫练

网络 交换机

优雅编程 | Javascript闭包的4种高级用法

devpoint

闭包 防抖 节流 闭包要点

虚拟路由器冗余协议 VRRP 详解

什么样的技术能进入一线大厂?这份阿里、百度、腾讯等 20家Java岗招聘要求梳理报告,会给你答案;

Java架构师迁哥

微服务学习笔记

lenka

3月日更

万事开头难——人为推进效应

Justin

心理学 28天写作 游戏设计

(28DW-S8-Day21) 《流程型组织》学习笔记:「客户第一」还是「老板第一」

mtfelix

28天写作 流程型组织

数字化“翻译官”

boshi

数字化 七日更

Elasticsearch 近实时搜索 Near Real-Time Search

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

飞行汽车到底能不能普及?

石云升

思维方式 科技革命 28天写作 3月日更

跳表

一个大红包

3月日更

啥?用了并行流还更慢了

L

Java

进入大厂的简历应该是什么样子

我是程序员小贱

3月日更

《经济学人》2021年3月13日刊精彩文章导读及资源免费下载

wbliu85

读书笔记:我的安全世界观

架构精进之路

安全 #读书 3月日更

基于SparkMLlib智能课堂教学评价系统的设计与实现(一)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

Python DataTime 日期处理

HoneyMoose

css高度坍塌与清除浮动

依旧廖凯

28天写作 3月日更

算法攻关 - 重上到下打印二叉树 (O(n))_offer32

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关 从上到下打印二叉树

Python 日期格式和时间以及当前时间和时间戳

HoneyMoose

互联网信贷风险与大数据 存量管理

张老蔫

28天写作

Lex Fridman: How to learn and master a new skill 简评

teoking

Oracle中我们什么时候需要用到定时任务?

xiezhr

oracle 定时任务 存储过程

打卡第一次

容光

办公自动化

优化自动化测试流程,使用 flask 开发一个 toy jenkins工具

和牛

Python 软件测试

「Linux」网络配置大揭秘

我是程序员小贱

3月日更

LeetCode题解:91. 解码方法,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

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