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