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

示例

即时运行可实现三种类型的代码交换,以支持通过Android Studio中的代码更快地调试和运行应用。

  • 热插拔

  • 热交换

  • 冷交换

这些交换何时触发?

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

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

每当您的应用程序代码中发生结构性代码更改时,就进行冷插拔

  1. 添加,删除或更改:

  • 注释

  • 实例字段

  • 静态场

  • 静态方法签名

  • 实例方法签名

  1. 更改当前类从哪个父类继承

  2. 更改已实现接口的列表

  3. 更改类的静态初始值设定项

  4. 重新排列使用动态资源ID的布局元素

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

HOT SWAP更改立即可见-在下一次调用更改其实现的方法时。

WARM SWAP重新启动当前活动

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