You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio启动多Java进程致大项目构建缓慢求助

大型Android项目构建内存过载导致构建缓慢问题

机器配置

  • MacBook Pro M1 Pro
  • Sonoma 14.2
  • 16GB 内存
  • Android Studio Giraffe Patch 3(2023年11月8日发布的最新稳定版)

问题描述

开发的项目包含74个模块,启动项目后Android Studio先启动一个Java进程,构建过程中持续创建新进程,最终生成2-3个Java进程,每个进程至少占用6GB内存(与gradle.properties配置一致),直接导致构建速度极慢。

gradle.properties 配置内容

org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.configureondemand=true
org.gradle.daemon=true
kotlin.incremental=true
kotlin.code.style=official
android.nonTransitiveRClass=true
org.gradle.daemon.idletimeout=60000
android.enableJetifier=true

Shell环境变量(.zshrc)

截图展示了.zshrc中的环境变量配置,包含Java、Gradle相关的路径及参数设置。

Android Studio进程情况

截图显示Android Studio启动了2-3个独立的Java进程,每个进程内存占用均在6GB以上,进程与Gradle构建任务相关。

优化解决方案

1. 下调Gradle进程堆内存上限

16GB内存无法支撑2-3个各占6GB的进程,会触发系统内存交换,严重拖慢构建速度。建议修改gradle.properties中的堆内存配置:

org.gradle.jvmargs=-Xmx3g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g

单个Gradle进程内存控制在4GB左右,2个进程总占用约8GB,预留足够内存给Android Studio和系统。

2. 限制Gradle守护进程数量

在gradle.properties中添加以下配置,避免同时启动过多守护进程:

org.gradle.daemon.maxParallelThreads=1
org.gradle.workers.max=2

3. 暂时关闭并行构建

内存不足时,并行构建会加剧内存竞争,建议先关闭并行,待内存压力缓解后再评估开启:

org.gradle.parallel=false

4. 检查环境变量中的重复配置

确认.zshrc中是否存在GRADLE_OPTS或JAVA_OPTS,若这些变量也设置了-Xmx参数,会覆盖gradle.properties的配置,导致进程内存超标。确保环境变量中无额外堆内存配置。

5. 清理闲置Gradle守护进程

通过终端执行以下命令,清理后台闲置的守护进程,释放内存:

./gradlew --stop

6. 优化构建缓存使用

已开启org.gradle.caching=true,可进一步在Android Studio中开启File > Settings > Build, Execution, Deployment > Build Tools > Gradle > Build Cache的优化选项,确保缓存目录有足够存储空间。

内容的提问来源于stack exchange,提问作者Ziad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:43:18