我最近从Eclipse升级到Android Studio,但我并不喜欢这种体验。我比较的是Windows 7 64位终极版,16GB内存,英特尔i7 4770运行NVidia Geforce 780,如果重要的话,我运行的是最新的JDK和最新的Android Studio。

Android Studio在构建项目时非常缓慢,我可以接受,但它也非常消耗资源,有时会使PC速度变慢。

每当我在AS中构建或运行任何东西时,我的PC似乎变得极其缓慢。如果我点击“Gradle build running”旋转器,它也会导致屏幕闪烁,偶尔会让我的第二个显示器空白,我觉得这很奇怪。内存的使用也飙升到3GB,我发现什么都不做就过度了(这是在几次构建后空闲的时候)。

此外,AS底部的面板一直在跳来跳去,这是一种糟糕的用户体验(从Android移动到消息到版本控制或其他任何临时的基础上,这取决于正在发生的事情,这是非常非常恼人的)。

我想知道的基本上是:

1)如何让Android Studio运行得更好?我可能做错了什么,或者错过了一些我不知道的更新,我相信其他人也注意到了这些行为,并找到了一些解决方案。

2)我如何“钉”底部面板,使他们不跳,而是让我,用户,导航到他们当我希望而不是自动切换他们?

非常感谢,如果这不是这些问题的正确位置,我再次道歉。

编辑1 更多评论:

我使用的是今天最新的稳定版本。这个版本是Android Studio 1.2.2 build # AI-141.1980579,于2015年6月3日发布 这种行为发生在使用Java 7或Java 8时。它似乎与Java版本无关。 我没有使用演示模式。只是普通的观点。 对构建配置进行更改(感谢@Blackbelt和他的回答)似乎对构建有所帮助,但迟缓和一般用户体验等其他问题仍然存在。


当前回答

不要编辑工作室。vmoptions,可能不起作用。

在它。属性文件(在应用程序目录)添加这个:

org.gradle.parallel=true
org.gradle.jvmargs=-Xmx7g -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

其他回答

除了遵循现有答案中提到的优化(没有多大帮助,仍然非常缓慢),下面的做法对我来说很管用。

我有6 GM内存和i5处理器的惠普笔记本电脑,android工作室仍然非常慢。 在检查任务管理器的内存使用情况后,注意到有一个名为“HP Touchpoint Analytics Client”的软件占用了超过1gb的内存。 在谷歌搜索后发现这是惠普在Windows 10上安装的间谍软件。

卸载了一堆惠普软件,这些软件什么都不做,还会降低系统速度。 现在,Android studio的速度相当快——Gradle的构建在30秒内就完成了,而之前需要2分钟多。每次击键都需要5秒钟来响应,现在它是实时的,性能与Eclipse相当。

这对于其他厂商的笔记本电脑来说可能也是如此,比如戴尔等。 惠普的间谍软件真的把Windows 10用户的用户体验搞砸了。 卸载它们,这将有助于Android工作室,并改善整体笔记本电脑的体验。

希望这能帮助到一些人。谢谢。

这对我很管用! 构建开放。gradle(它在您的项目中),并将both jcenter更改为mavenCentral

(你也可以在全局文件中这样做:C:\Program Files\ AndroidStudio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\build.gradle。但是,在AndroidStudio升级后,您将需要再次进行此修改)

在升级到El Capitan之后,我注意到IDE有一个巨大的滞后。在增加了大量内存并使用了上面的建议之后,我发现我需要更新遗留的Java,并通过:https://support.apple.com/kb/DL1572?locale=en_US重新安装

安装后,所有的延迟都消失了。

我遵循了这个帖子,它对我很有效。

编辑:

以下技巧已经在上面的帖子中提到。

在它。属性,这样写:

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

在构建中。gradle,把这个(注意这将禁用lint检查):

tasks.whenTaskAdded { task ->
    if (task.name.equals("lint")) {
        task.enabled = false
    }
}

这里让我感到痛苦的不是编译,而是输入。我可以禁用所有智能功能,回到notepad++,就像TomTsagk在评论中建议的那样。今天我需要更多的核心和内存。

作为魔鬼的拥护者,我认为打字不应该需要16Gb的八进制PC。喜欢Sajan Rana的建议,但这里的事情太缓慢了,感觉像是安慰剂。

为了公平起见,我使用的是1.4RC1,它离稳定分支还差得远。关闭互联网有一点帮助。同时使用XML布局的设计(预览)和文本视图的新特性非常有用。

不,这太荒谬了。永远不要离开稳定的航道。