繁体   English   中英

什么是 Android Studio Instant Run?

[英]what is Android Studio Instant Run?

今天我更新了我的 Android Studio 并运行了以前版本中存在的应用程序。当我运行该应用程序时,以前版本的应用程序启动速度非常快,但是当我更新 android studio 并使用更新版本运行相同的应用程序时,应用程序占用了太多资源是时候启动了。我用谷歌搜索了这个问题,发现如果启用了即时运行,然后禁用它,所以我做了同样的事情,应用程序启动的速度和原来一样快。

现在我的问题是——

  1. 什么是即时运行?使用它的利弊是什么?
  2. 为什么应用程序在启用即时运行时需要花费太多时间才能启动,而当我禁用它时,为什么它会像以前一样快速启动应用程序。

Instant run 附带最新版本的 Android Studio。 但在某些情况下,使用它时它是有线的。

什么是即时运行?

在普通的构建和运行中,整个 APK 文件都会更新并推送到设备。 但是当使用即时运行时,只有更新的部分会在设备中被替换。 Instant Run 通过执行热插拔热插拔冷插拔将更新的代码和资源推送到您连接的设备或模拟器。 它会根据您所做的更改类型自动确定要执行的交换类型。

优点

它可能比普通构建更快。 但它要求应用程序在 API 21 以下构建时运行。

缺点

说真的,我觉得安装不变的问题。 那是在某些时候使用即时运行时,应用程序似乎没有更新。 它保持在以前的版本。 有时我觉得它比普通构建慢。

热插拔:

这是最快的交换类型,可以更快地看到更改。 您的应用程序继续运行,下次调用该方法时将使用具有新实现的存根方法。

热交换:

这种交换仍然非常快,但是当 Instant Run 将更改的资源推送到您的应用程序时,它必须重新启动当前的 Activity。

冷交换(API 级别 21 或更高):

这种交换有点慢,因为虽然不需要新的 APK 文件,但 Instant Run 在推送结构代码更改时必须重新启动整个应用程序。

禁用即时运行:文件=>设置=>构建、执行和部署=>即时运行=>取消选中启用即时运行以进行热插拔

在此处输入图片说明

请参阅文档。

即时运行 = 增量构建 + 热、温或冷交换

没有即时运行:

在此处输入图片说明

即时运行:

在此处输入图片说明

来源: https : //medium.com/google-developers/instant-run-how-does-it-work-294a1633367f

即时运行:

这是 Android Studio 中的一项功能,它使用魔法显着减少编码/测试/调试生命周期中增量代码更改的构建和部署时间。

这是正常现象,是Instant Run功能的一部分。 理论上,后续加载应该更快。

您应该尝试重新启用它并观察后续运行,您将看到结果。

Instant Run 允许您推送代码更改而无需构建新的 APK。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM