Android Studio在真实设备上运行应用程序需要太长时间

10

我有一台配备Core i3处理器和2GB内存的笔记本电脑,我正在使用我的Sony Xperia C手机作为模拟器的替代品。当我点击调试并选择我的移动设备时,Gradle开始构建,并需要大约5到10分钟才能完成。

我知道我的资源非常有限,但我怀疑除此之外还有其他原因导致构建和运行应用程序需要太长时间。

我在logcat选项卡中注意到它花费了很多时间重复发送请求并等待响应。

请问有人能告诉我问题出在硬件资源上吗?还是我的怀疑是出于其他原因呢?


Gradle是一个非常沉重的构建工具。即使在我的工作I7笔记本电脑上配备了8GB内存,如果我正在运行gradle构建,则浏览网页也会出现延迟。你能做的最多就是尝试调整一些设置(请参见https://dev59.com/mGQm5IYBdhLWcg3w0Bm5),但这并不总是能提供很大的性能提升。 - Warrick
谢谢,但是如果我在真实设备上调试时仍有500MB的空闲内存,为什么RAM会成为问题呢?难道问题不是与CPU有关吗? - AliSmart
Ram有点复杂。然而,其中一个原因是Android Studio在Java VM内运行,该VM管理所有RAM。500MB的空闲空间相对较低,特别是对于开发计算机来说。 - Warrick
你是完全正确的 :( - AliSmart
6个回答

10

Android Studio非常耗资源。我使用一台配备Core 2 Duo和2.5GB内存的旧索尼笔记本,并进行了调整,仅用200MB运行操作系统。构建一个项目需要大约10分钟或更长时间。

我的建议是,将笔记本电脑的内存升级到4GB或更高。8GB应该足够。现在我正在使用4GB和Corei5处理器,Android Studio运行一个项目只需要不到1分钟的时间,但这取决于项目的大小和其依赖关系。

-- 更新 --

Windows 10的默认设置会使用>90% 的磁盘空间,这会使您的构建过程变得更加缓慢。您可以通过简单地关闭“显示有关Windows的提示”来将其减少至<12%:

从Windows菜单中,转到“设置”,然后转到“系统”,然后转到“通知和操作”。关闭“向我显示有关Windows的提示”

更新参考:磁盘使用率始终为100%


因为你只能使用约1GB的内存。另外1GB已经被Windows 10占用了。Windows 10的要求是64位系统需要至少2GB的内存Windows 10要求,这是工作的最低要求。在我看来,Windows 10会锁定一些内存空间供自身使用。这些内存空间是为内部进程保留的。 - ישו אוהב אותך
我正在运行32位的Windows 10。在任务管理器中,它被标记为进程“系统”,占用260MB的内存。在使用模拟器进行实验之前,我正在准备在真实设备上运行。当我同时运行Emulator(512MB)+ Android Studio + Win10时,我可以使用98%的内存。我认为剩下的2%是由于CPU缺乏内存寻址能力。 - AliSmart
好的,标记为“系统”的进程并不代表所有Windows 10进程。在任务管理器中添加一个“发布者”列,并查看带有“Microsoft Corporation”标签的进程。请检查一下Android Studio使用的虚拟机。也许它会给我们一些线索。但是我不能告诉你更多了。我只在办公室使用Windows 10。我的主要操作系统是Linux :) - ישו אוהב אותך
@AliSmart:阅读链接文章,还有其他选项可以降低内存使用量.. :) - ישו אוהב אותך
我会的,非常感谢你的帮助 :) - AliSmart
显示剩余6条评论

3
我强烈建议您升级开发计算机的RAM(8GB或更多),因为2 GB RAM对于工作室来说太痛苦了。
此外,我建议:每次在模拟器中运行应用程序后,仅打开一个项目,并清理您的项目。

1
在我看来,清理项目是一个不好的主意,因为我们必须重新构建它,这会消耗更多的时间。只有当我们确定Android Studio出现问题时,例如项目中未更新的资源文件或未更新的依赖项时,才进行清理。 - ישו אוהב אותך

1

升级内存后,建议您尝试升级Android Studio。 在Android Studio v2.0.0 ++中,它们支持Instant Run

现在,Android Studio比以往任何时候都更快地部署干净的构建。 此外,将增量代码更改推送到模拟器或物理设备现在几乎是瞬间完成的。无需重新部署新的调试构建或在许多情况下无需重新启动应用程序即可查看更新。

了解有关Instant Run的更多信息


我昨天已经下载了它,很快就会寻找这个新功能。谢谢。 - AliSmart
Instant Run是一个非常好的插件。但是请注意,有时它可能无法正常工作。而且在某些设备上,当应用程序安装后可能会出现无法运行的情况。 - ישו אוהב אותך
我可能只能将其用于测试目的,当我完成最终工作后,我会切换到普通的构建和运行。这可行吗? - AliSmart

1
在我的情况下,我不使用调试器来监视应用程序性能...等等,因此我不会将应用程序安装到设备上(我只构建应用程序而不是运行),然后我使用adb将apk安装到设备上...
adb install -rst <$$path_to>.apk

path_to_apk 是我的 apk 构建的位置 通常情况下...

<$$build_path>/android-build/build/outputs/apk/my.apk

我以合理的速度完成工作,当然,牺牲了调试器!
现在我正在尝试如何通过adb激活调试器!如果需要的话。


0
我建议您升级RAM,这样您的Android Studio就可以正常运行(从技术上讲:它将有足够的资源可用)。我使用一台核心i3 4GB RAM系统,感觉速度有点慢。

请检查这张图片...

Requirements to run Android Studio

结束一些后台进程然后启动你的Android Studio(这是一个临时解决方案),或者升级你的内存条。


0

在调试时禁用即时运行,然后再尝试一次。


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