写点什么

Android Studio 2.0 引入热代码替换技术

  • 2015-11-27
  • 本文字数:994 字

    阅读完需:约 3 分钟

Android Studio 2.0 通过 canary channel 发布了预览版,在这个版本中它改进的关注点是使开发尽可能合理。这其中就包括了热代码替换、更快的完整编译、更快的模拟器、GPU Profiler 和 Debugger 工具以及同时运行多种类型的测试。

可能出现在 Android Studio 2.0 版里最重要的改进功能是即刻预览功能 Instant Run。一个代码的变动能立刻(1-2 秒)在连接的物理设备或者模拟器上生效,并且不需要通过一个完整的或者增量的完整编译和 APK 开发工具就能执行这个操作。该项功能在 Android Dev Summit 2015 ( video ) (视频资料)开发者峰会上被证实。它会被做成能在当前或者以后运用 Android ICS 工作的“几乎每一个我们所使用的模拟器”以及“当前每一个物理设备”上使用。

目前,Instant Run 支持实例方法或静态方法的实现改变,并可以添加或是移除一个类。它同样可以支持字符串资源的更改但它需要重启相关的活动。有一系列的变化例如编辑注释、域、方法签名在之前是不受支持的,但是 Google 正计划在接下来的几个月里研究支持它们的办法。

Android Studio 2.0 版还有如下几点改进:

  • 最初的完整编译时间增快了 2-2.5 倍。
  • 增量编译在“十秒以内”实现。
  • 模拟器“比以前快得多了”。一张图表显示了由于更出色的 I/O, ADB 推进了模拟器的速度。这款模拟器的速度比在 Android Studio Emulator 1.0 上快 15 倍并且比在物理设备 (Nexus 6) 上快超过五倍。另外,现在模拟器运用 SMP 来利用出现在开发用的计算机上的多核的优势。
  • 模拟器的 UI 已被重写以支持拖拽和调整。
  • IDE 支持其他形式的仿真:GPS(包括多点模拟路线)、电话和短信、电池情况。
  • 它是基于最近发布的 IntelliJ 15 基础之上开发的。
  • Android 和 Unit Tests 可以同时运行。
  • 它添加了包含证书的深层链接,如果 Google Search 可以正确索引申请的内容的话。

最后也是最重要的一点,Android Studio 2.0 版拥有一个可以逐帧重放场景的 GPU Profiler 和 Debugger 工具。这项工具对在地图、视频、游戏领域使用 OpenGL ES 工作的开发者来说是很有吸引力的。

查看英文原文: Android Studio 2.0 Introduces Hot Code Swapping


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2015-11-27 18:004493
用户头像

发布了 218 篇内容, 共 74.6 次阅读, 收获喜欢 76 次。

关注

评论

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

架构词典:缓存

lidaobing

缓存 架构

到手的股权,又没了 | 法庭上的CTO(2)

赵新龙

股权 CTO 28天写作

IT做得好的时候,是什么状态?

boshi

职业

java集合【10】——— LinkedList源码解析

秦怀杂货店

Java 集合 linkedlist

使用PicGo存储markdown图片(阿里云或者github)

秦怀杂货店

markdown 图床

JDBC【4】-- jdbc预编译与拼接sql对比

秦怀杂货店

sql JDBC

11.1安全架构:Web攻击与防护

张荣召

11.3安全架构:反垃圾与风控

张荣召

11.4高可用:可用性度量

张荣召

系统性能的主要技术指标以及变化

皮蛋

11.2安全架构:加密与解密

张荣召

架构师训练营第11周课后作业

吴传禹

极客大学架构师训练营

Mybatis【5】-- Mybatis多种增删改查那些你会了么?

秦怀杂货店

Java mybatis JDBC

11.6高可用:架构运维方案

张荣召

Mybatis【6】-- Mybatis插入数据后自增id怎么获取?

秦怀杂货店

mybatis

第七周总结

孤星

架构师第十一周作业

_

极客大学架构师训练营 第十一周作业

11.7高可用故障案例分析

张荣召

学习总结--week11

张荣召

架构师训练营第 1 期第 11 周学习总结

好吃不贵

极客大学架构师训练营

JVM,JRE,JDK之间的区别和联系

入门小站

JVM

架构师训练营第 1 期第 11 周作业

好吃不贵

极客大学架构师训练营

【Java基础】-- instanceof 用法详解

秦怀杂货店

Java

【java基础】-- java接口和抽象类的异同分析

秦怀杂货店

Java 接口

11.8作业

张荣召

七、性能

Geek_28b526

从华为看VUCA时代如何让组织不断乘风破浪?

Alan

华为 战略思考 组织发展 组织活力

架构师训练营第 1 期 -- 第十一周作业

发酵的死神

极客大学架构师训练营

11.5高可用:提升系统可用性的架构方案

张荣召

架构师训练营第11周总结

吴传禹

极客大学架构师训练营

第七周作业

孤星

Android Studio 2.0引入热代码替换技术_Java_Abel Avram_InfoQ精选文章