【发布时间】:2015-11-24 19:44:49
【问题描述】:
这是一个非常新的功能,因为 Android Studio 2.0 仅在金丝雀发布频道中可用,但我希望有人能进一步解释 Instant Run 功能的工作原理。
如果我在我的 Java 类(活动、片段等)中修改代码,那么 Instant Run 可以顺利运行。它使应用程序的实例保持运行并在幕后换出代码,大大缩短了我测试所需的时间(这太棒了,顺便说一句)。
但是,如果我修改现有布局 xml 资源,则它必须重新编译构建并部署它。所以我的问题是:
- 为什么修改现有布局xml资源需要重新构建?
- 未来是否有计划允许热交换 XML 资源,这样我就不必在每次想要看到布局更改时都重新构建? (不过,我知道我只能在设计视图中查看更改)。
问题 #1 目前对我来说更重要,因为我想了解它是如何工作的。 另外,祝贺 Android Studio 团队。 IDE 已经走过了漫长的道路。性能改进改变了生活。
【问题讨论】:
-
"为什么修改现有布局xml资源需要重新构建?" -- 可能是
R类的变化。从他们的演示来看,听起来并非每一次改变都必然会进行全面重建。 Android 开发者峰会正在进行中;您会想在 YouTube 上观看今天会议的视频,其中讨论了许多此类细节,至少在有限的层面上进行了讨论。 “有计划吗”之类的问题和“恭喜”最好直接找谷歌; Stack Overflow 不是 Google。 -
这只是一个猜测,但它可能与资源文件的工作方式有关吗?基本上,XML 文件在构建时被翻译成 Java 文件。这就是为什么每当我们对 XML 文件进行更改时,旧版本的 IDE 都需要整个“清理”步骤。
-
我认为我们应该等到最终版本发布...预览版本总是充满错误,我们不知道那是否是其中之一。另外,正如@CommonsWare 所说,
R可能会发生变化。 -
我只是在您描述的两种情况下(修改 Java 代码和修改 XML 布局)都尝试了这个,并且似乎以相同的方式部署它。 (我尝试的两种情况都非常简单。更改活动的背景颜色,并添加敬酒消息。在一个干净的项目上)
-
@CommonsWare,我知道 Stack Overflow 不是 Google,但是您会惊讶于 Stack Overflow 上活跃的 Google Developer Advocates 的数量。我确实同意现在问这个问题还为时过早,但我实在是太好奇了,无法等待有关它的视频讲座。此外,值得将其公开以供其他人讨论,因为我知道我们都对此感到非常兴奋。