使用Android Studio的“即时运行”启动应用程序非常缓慢

17

我刚刚启用了我的项目的即时运行。构建和上传速度更快,但是我的应用程序启动时间从几百毫秒增加到了几秒钟。

总体上我对这个妥协感到满意。我只想知道是否只有我注意到了这一点,以及是否有任何优化的可能性?


我也注意到时间增加了,我关闭了即时运行。 - buczek
1
我也注意到应用程序启动时间增加了。我的从3秒变成了35秒。 - Caren
我认为这可能是由于您安装的SDK出现了问题,如果有的话。Instant Run似乎与某些应用程序中的一些SDK不兼容。尝试在应用程序onCreate中简单地删除那些库/SDK的启动行,并查看是否会对速度产生影响。 - Vic Vuci
请查看此答案:https://dev59.com/8Zffa4cB1Zd3GeqP1wbK#37207831 - Amit Vaghela
2个回答

1
这是Android Studio中已知的一个bug。我长期面临这个问题,后来在Reddit上找到了一篇帖子,解释了实际问题的原因...
这是帖子链接:

https://m.reddit.com/r/androiddev/comments/4m2v25/instant_run_causing_incredibly_long_app_start/

Solution

在问题得到解决之前,请执行以下任何一项: 1. 关闭即时运行(Instant Run) 2. 回退到 Gradle 的 2.8 版本

你应该做的事情: 1. 等待问题被修复


抱歉,这是一个已知的问题。我们正在努力改进它在2.3版本中。出现这种情况的原因是:最初,我们将您的所有代码分成多个dex文件,并将它们全部放入一个instant-run.zip文件中。第一次安装后,我们解压缩该文件并将所有这些类添加到类路径中。这是需要时间的步骤,您会看到一个白屏。在最坏的情况下,您甚至可能会遇到ANR。我们将其拆分,以便在后续更新中,我们只发送更改了的dex文件。在Android N中,我们通过拆分APK获得了更多的平台支持,这将使速度更快。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接