Instant Run

Android Studio 2.0 中引入的可以“大幅减少应用更新时间”的功能。
更改代码再次更新应用,Instant Run 无需再次构建新的 APK,而是直接向应用推送更新。


与重新构建部署的区别

  • 重新构建部署


    重新构建部署
  • Instant Run


    Instant Run

使用条件

  • Android Plugin for Gradle 版本在 2.0.0 或更高
  • module 级别的 build.gradle 文件中 minSdkVersion 设置为 15(Android 4.0.3) 或以上
  • 为获取最佳性能,minSdkVersion 设置为 21(Android 5.0) 或以上

执行方式

Android Studio 根据代码修改类型自动选择执行方式

Instant Run 行为 适用范围
heat exchange(热交换) 更改现有方法的实现代码
moderate exchange(温和交换) 更改或移除现有资源文件
cold exchange(冷交换) 结构性的代码更改
deploy the new build(重新构建) manifest 更改
  • heat exchange :速度最快,应用不需要重新安装,也不需要重启。但是此种方式不会初始化正在运行的应用中的对象,所以此时如果要看到更新就需要重新动当前行为或者重启应用
  • moderate exchange:速度也非常快,应用会继续保持运行,但是当前 Activity 会被重启,重启的时候屏幕会发生小闪烁
  • cold exchange:速度相对前两种较慢,应用不需要重新安装,但是需要重启。Android Studio 会将我们每一次修改打成一个 dex 文件发到手机上,应用重启才会加载这个新的 dex 文件。(cold exchange 基于只有 5.0 及以上的设备才支持的 multidex 机制,以下则执行完整的 APK 安装过程)
  • deploy the new build:对 AndroidManifest.xml 以及其引用的资源进行更改时,应用会被重新构建,因为应用的相关信息(名字、版本等)需要在安装 APK 的时候通过 AndroidManifest.xml 确定
  • 结构性的代码更改
    • 添加、移除、更改注解、字段、方法
    • 更改继承类
    • 更改实现接口
    • 更改一个类的 static 修饰符
    • 使用动态资源 id 重新布局
  • manifest更改
    • 更改 AndroidManifest.xml
    • 更改 AndroidManifest.xml 所引用的资源,比如 string.xml、style.xml 等文件
    • 更改 UI 组件(需要清除并重新运行)

使用 Instant Run

  • 打开 Preferences 对话框
  • 导航至 Build, Execution, Deployment > Instant Run
  • 通过勾选框控制 Instant Run 的使用
使用 Instant Run
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如何编译运行app 我们要编译运行一个AS工程,只需在AndroidStudio上点击几下按钮就行了。Instan...
    EsonJack阅读 2,086评论 0 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 原文:https://developer.android.com/studio/run/index.html#in...
    抹香君阅读 925评论 0 5
  • 语言是窗户 (否则 ,它们是墙 ) 听了你的话 ,我仿佛受了审判 ,无比委屈 ,又无从分辩 , 在离开前 ,我想问...
    清水323阅读 143评论 0 0
  • 我是日记星球238号星宝宝,我正在参加日记星球第六期21天蜕变之旅,这是我的第36篇原创日记,我相信坚持的力量! ...
    Ms娟子阅读 405评论 2 2