我最近从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和他的回答)似乎对构建有所帮助,但迟缓和一般用户体验等其他问题仍然存在。


当前回答

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

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

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

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

其他回答

在情况设置-Xmx4096m -XX:MaxHeapSize=256m(等。在上面提到的答案)做的工作,然后手动做这个:

步骤1:启动Android studio并关闭任何打开的项目(文件>关闭项目)。

步骤2:进入“Welcome”界面,进入“Configure > Settings”。

步骤3:选择构建、执行、部署>编译器

步骤4:将“Build process heap size (Mbytes)”修改为1024,“Additional Build process to VM Options”修改为-Xmx512m。

第五步:关闭或重启Android Studio。

使用gradle选项平衡内存消耗和构建速度。为样本

Android Studio 2022.1.1 (PC RAM 16GB)

Gradle v7.3.3 (./ Gradle /wrapper/ Gradle -wrapper.properties)

AGP v7.2.0 (./build.gradle)

com.android.tools.build:gradle:7.2.0

缓存修复Gradle插件

org.gradle.android.cache-fix:org.gradle.android.cache-fix.gradle.plugin:2.5.3

这个谷歌服务依赖版本支持Gradle配置缓存

com.google.gms:google-services:4.3.5

。/ gradle.properties

android.enableJetifier=true
android.jetifier.ignorelist=bcprov-jdk15on
android.useAndroidX=true
kapt.incremental.apt=true
kapt.use.worker.api=true
kotlin.daemon.jvm.options=-Xms1g -Xmx4g
manifestmerger.enabled=true
org.gradle.caching=true
org.gradle.configureondemand=true
org.gradle.daemon=true
org.gradle.jvmargs=-XX:InitialHeapSize=1g -XX:MaxHeapSize=6g -XX:MaxPermSize=2g -XX:MaxMetaspaceSize=2g -XX:NewSize=1g -XX:MaxNewSize=2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.unsafe.configuration-cache=true
org.gradle.unsafe.configuration-cache-problems=warn

有用的链接:

https://proandroiddev.com/how-we-reduced-our-gradle-build-times-by-over-80-51f2b6d6b05b

https://developer.android.com/studio/build/profile-your-build#using-the-gradle---profile-option

我想分享一下我的案例:

如果你需要play-store库,不要编译所有的库,只编译你需要的库。例如:如果你只需要地图库,而不是编译'com.google.android.gms:play-services:9.0.2',那么在你的gradle上编译'com.google.android.gms:play-services-maps:9.0.2' 不使用OpenJDK的java,我使用java 7甲骨文,它工作得很好。如果你需要更改默认的Java,在Linux终端上执行sudo update-alternatives——config Java并选择数字

我使用的是ubuntu 32位4GB内存。这就是我在阿斯伯格综合症中遇到的所有问题。

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

编辑:

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

在它。属性,这样写:

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
    }
}

总结一下

1)在AndroidStudio的设置> compile启用名为compile独立模块并行的复选框。

2)在帮助>编辑自定义虚拟机选项我有:

-Xms1024m 
-Xmx4096m # <------ increase this to most of your RAM 
-XX:MaxPermSize=1024m 
-XX:ReservedCodeCacheSize=440m 
-XX:+UseCompressedOops 
-XX:-HeapDumpOnOutOfMemoryError 
-Dfile.encoding=UTF-8

附注:有些人说注意,而不是虚拟机选项,它是更好的组合可以通过组合成一行命令在gradle覆盖这些行。属性,像这样:

org.gradle。jvmargs=-Xms1024m -Xmx4096m…

3)我有一个老的双核4GB内存,运行ubuntu。Qs命令行选项我只有——offline(它指定构建应该在不访问网络资源的情况下运行)。我还启用了其余的复选框,现在它运行正常:

自动制作项目 使用进程内构建按需配置 检查AndroidStudio的设置,在compile下的复选框“并行编译独立模块”已启用。

在Vmoptions下,我有

-Xmx2048m -XX:MaxPermSize=1024

我有一个老的双核4GB内存,运行ubuntu。Qs命令行选项我只有——offline,它指定构建应该在不访问网络资源的情况下运行。我还启用了其余的复选框:

自动制作项目 使用过程中构建 按需配置 运行正常

Edit

可以通过工作室提供额外的选项。vmoptions位于(只需将X.X替换为version):

Windows:转到%USERPROFILE%\. androidstudix . x \studio.exe。Vmoptions(或studio64.exe.vmoptions) 麦克:~ /图书馆/ / .AndroidStudioX.X / studio.vmoptions偏好 Linux: ~ / .AndroidStudioX.X /工作室。Vmoptions(和/或studio64.vmoptions)

增加-Xmx的值应该会有很大帮助。如

-Xms1024m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=256m
-XX:+UseCompressedOops

将分配4G作为最大堆,初始值为1G

编辑:

在windows上,默认值存储在C:\Program Files\Android\Android Studio\bin\*.vmoptions中。IDE允许您通过Help->编辑自定义虚拟机选项来调整这些值(感谢@Code-Read指出这一点)。

编辑2:

Android studio 3.5更容易更改这些值。请访问:

Preferences > Appearance & Behavior > System Settings > Memory Settings