为啥 Android Studio 在编辑 xml 文件或更改设计时会变慢?

Posted

技术标签:

【中文标题】为啥 Android Studio 在编辑 xml 文件或更改设计时会变慢?【英文标题】:Why Android Studio is slowing down when editing xml file or changing the design?为什么 Android Studio 在编辑 xml 文件或更改设计时会变慢? 【发布时间】:2015-02-16 21:25:52 【问题描述】:

我有一台配备 Intel i7 和 8gb ram 和 2gb 图形的 Hp envy 笔记本,当我使用 xml 或设计应用程序时,有时 android studio 仍然卡住。我的笔记本电脑或 android studio 有问题吗?

【问题讨论】:

【参考方案1】:

这可能是因为没有足够的堆内存供 AS 使用。您可能想尝试本博客中提到的第一种技术:Eliminate Lags & Stutters in Android Studio。

链接内容

增加 Android Studio 的内存堆:

Android Studio 与其他 Java 应用程序一样,以在运行时占用大量内存而闻名。除非在启动时为 IDE 分配了足够的内存,否则磁盘交换将开始启动,如果您不使用 SSD,上帝保佑您。

打开文件[AS Installation Folder]\bin\studio64.exe.vmoptionsstudio.exe.vmoptions,具体取决于您使用的版本。

您可能会在其中找到顶部的这两行:

-Xms128m
-Xmx750m

将这两个值增加到合理的值,例如-Xms256-Xmx1024。 如果您愿意,可以将第二个值提高到 2048;我的计算机有 8G RAM 的同事也没有发现 -Xmx2048 有任何问题。

完成后,重启AS,如果你在设置/外观中勾选了显示内存指示器,你会在右下角看到类似这样的东西:

加快 Gradle 构建时间

开发人员仍然不愿放弃 Eclipse 的原因之一是 Gradle。 尽管它确实是一个不错的构建系统并且使用它有很多好处,但即使是最简单的 Gradle 调用也非常缓慢且耗时。因此,我们的工作流程包含许多不可避免的等待,有时我们甚至会忘记在 AS 完成其费力的构建过程后需要测试什么。 我们采取了一些措施来提高 Gradle 的速度。

首先,转到Settings/Compiler 并检查所有内容,除了第二个选项自动生成项目。 对于 VM Options,我们使用以下配置:

-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

接下来,将以下行添加到项目目录中的 gradle.properties:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

通过硬件虚拟化加速模拟器

虽然 Android 模拟器不是 Android Studio 的一部分,但值得一提的是,如果您使用的是支持硬件虚拟化的较新的 Intel CPU 之一,那么模拟器的速度会非常快。查看这篇文章,了解如何在您的机器上进行设置。

【讨论】:

试过了,但仍然滞后。 这并没有为我解决。 :( 链接再次断开...这就是为什么答案不应该是链接。 这里是损坏链接的存档:archive.is/20141224174541/http://geek.moneylover.me/… 在答案中添加了页面的内容,至少我们有它【参考方案2】:

万一其他人以后遇到这种情况,我发现如果你点击右下角的带帽子的小人,启用“省电模式” 并将突出显示级别切换为“无”,它可以减少复杂布局中的 XML 编辑延迟。

进行编辑后,您可以禁用节电并向后滑动突出显示以查看预览中的更改。

不理想,但它可以防止在编辑时按键之间的持续停顿。

【讨论】:

不是理想的解决方案,但这很有帮助。但现在我可以打字更快了。另外,由于小灰人在底部,我可以在需要时快速启用它。 谢谢。当我将省电模式更改为启用时,它对我有用。 看来如果你把省电模式改成启用,android studio可能会跳过不必要的动作。【参考方案3】:

当 Android Studio 运行时,转到任务管理器 --> 进程并检查它使用了多少物理内存。如果它正在使用完整的堆大小内存,请尝试增加堆大小。

【讨论】:

【参考方案4】:

-Xms256m -Xmx1280m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=225m

我的studio64.exe.vmoptions文件,加点堆希望有帮助。

顺便说一句,大部分成本都在 CPU 和内存上。显卡不重要。

【讨论】:

【参考方案5】:

您可以按照此处的说明尝试增加堆内存,看看是否有帮助。 http://tools.android.com/tech-docs/configuration

来自以下链接的内容

从 Android Studio 2.0 开始,您可以通过访问“帮助”菜单中的“编辑自定义 VM 选项”文件来创建/编辑此文件。

增加 IDE 内存 默认情况下,IDE 最多分配 750 MB。如果您有一个大型项目,或者您的系统上有很多 RAM,那么如果您增加允许使用的内存量,IDE 将运行得更好。为此,请创建您自己的 studio.vmoptions 覆盖(在上面解释的位置)并添加这样的行

-Xmx2048m

【讨论】:

准确回答。非常有用。【参考方案6】:

在 Linux 上,尝试 ZRAM(RAM 压缩)。对于 Ubuntu:

sudo apt install zram-config

然后重启。

【讨论】:

以上是关于为啥 Android Studio 在编辑 xml 文件或更改设计时会变慢?的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 或 Android Studio XML 编辑器中没有行号

为啥我的 FileProvider 在 android studio 中不起作用

Android Studio - XML 编辑器自动完成功能不适用于支持库

为啥我的Android Studio里新建的drawable的XML文件里没找不到shape这个选项.

Android studio 布局编辑器总是横向的?

为啥我的Android studio里面没有Preview。在View-Tool Windows