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

  • Abel Avram
  • 刘嘉洋

2015 年 11 月 27 日

话题:Java移动Android语言 & 开发

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 好读者)。

Java移动Android语言 & 开发