就我而言,有两种主要的内存占用来源:IDE和Gradle:
Android Studio(最大1.5GB)
IDE的JVM配置为具有最大堆大小。您可以在主界面的右下角看到此内容:
您可以通过编辑降低这种内存有关的设置中的.vmoptions
文件。例如,我将最大堆大小更改为512MB:
-Xmx512m
不幸的是,我发现降低此值会增加Android Studio暂时冻结(可能是进行垃圾回收)的频率。
摇篮(最大1.5GB)
在开发一段时间后,Gradle也可以使用大量RAM。Windows只是显示为Java(TM) Platform SE Binary
:
您可以通过更改Gradle JVM选项来解决此问题。您可以通过编辑每个用户来执行此操作gradle.properties
:
- 打开
gradle.properties
文件,如果不存在则创建它:
- 视窗:
%USERPROFILE%\.gradle\gradle.properties
- Linux / Mac:
~/.gradle/gradle.properties
更新org.gradle.jvmargs
属性,并在必要时创建它。我将其设置为:
org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
对于最大堆大小设置为256MB(-Xmx256m
)的小型项目,我没有注意到其构建性能的任何差异。
请注意,您可能需要重新启动Android Studio,以便杀死旧的 Gradle进程;否则,您可能最终会同时运行。
仿真器
关于模拟器占用大量RAM,屏幕截图显示该模拟器占用了约800MB。您可以选择要分配给模拟器的RAM数量:
- 编辑AVD
- 按显示高级设置
- 降低RAM的价值