即时运行中的代码交换类型

Instant Run 有三种类型的代码交换,可以支持从 Android Studio 中的代码更快地调试和运行应用程序。

  • 热交换
  • 温暖的交换
  • 冷交换

什么时候触发这些掉期?

**** 当现有方法的实现发生更改时,将触发 HOT SWAP

**** 更改或删除现有资源时会触发 WARM SWAP (res 文件夹中的任何内容)

**** 只要你的应用代码中存在结构代码更改,即可进行转换,例如

  1. 添加,删除或更改:
  • 注释
  • 实例字段
  • 静态字段
  • 静态方法签名
  • 实例方法签名
  1. 更改当前类继承的父类
  2. 更改已实现接口的列表
  3. 更改类的静态初始化程序
  4. 重新排序使用动态资源 ID 的布局元素

代码交换发生时会发生什么?

HOT SWAP 更改立即可见 - 只要下次调用其实现已更改的方法即可。

WARM SWAP 重新启动当前活动

COLD SWAP 重启整个应用程序(无需重新安装)