Android Studio - 如何增加分配的堆大小

145

我已经使用Android Studio三个月了,其中一个我在上面开始的应用程序变得相当大。该程序底部右侧指示的内存使用情况显示我的分配堆达到了494M的极限。

enter image description here

当我开始更改XML文件时,我的内存使用量很快就达到了那个上限,并且IDE崩溃并出现了类似于这样的内存不足错误。

enter image description here

我曾尝试使用此方法来增加堆大小,但迄今为止没有效果。

我浏览了几十篇关于如何增加堆大小的文章和其他问题,但它们的答案都不起作用。无论我对VMOPTIONS还是IDE设置做什么,堆大小都不会增加。我认为我正在编辑正确的VMOPTIONS文件,因为如果我故意给它一个无效命令,Android Studio会抱怨并且无法启动。

我正在使用Windows 7 - 64位,并且拥有16GB RAM。有其他人遇到过这个Android Studio的问题吗?你们能够解决吗?


请参考@moxi在下面的答案,了解有关配置用户特定设置以进行内存和工作室JVM启动的最新信息。https://dev59.com/62Ml5IYBdhLWcg3wDzVG#29057416 - Bron Davies
2
更新的Android Studio文档:https://developer.android.com/studio/intro/studio-config#adjusting_heap_size - Morrison Chang
25个回答

6

有很多现在已经过时的答案。最近更改了更改Android Studio堆大小的期望方式。

用户现在应该在以下目录之一中创建自己的vmoptions文件;

Windows: %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

Mac: ~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions

Linux: ~/.{FOLDER_NAME}/studio.vmoptions和/或~/.{FOLDER_NAME}/studio64.vmoptions

新创建的*.vmoptions文件的内容应为:

-Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops

为增加RAM分配,请将-XmX750m更改为其他值。
完整的说明可以在这里找到:http://tools.android.com/tech-docs/configuration

1
但是在您提到的路径下没有studio.vmoptions文件。它们位于%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions下。 - Mulgard
这是正确的答案。其他的已经过时或不被鼓励使用。 - GaRRaPeTa

6

首先检查为您的Android Studio分配了多少内存。要检查,请按照以下步骤进行:

文件 -> 设置 -> 外观和行为 -> 外观

然后检查显示内存指示器选项,如下图所示的红色高亮部分 enter image description here

在我的情况下,我的RAM是12Gb,因此我已经为Android Studio分配了6GB的内存。要编辑,请按照以下步骤进行:

帮助 -> 编辑自定义VM选项

-Xmx6g

在我的情况下,我设置了6GB,因为我的电脑内存为12 GB。你可以根据需要分配多少内存给Android Studio。


6

以下是在Android Studio 3.6.1中更改堆大小的方法:

在Windows中,打开Android Studio后:

  1. 选择 文件 -> 设置(将显示下面的弹出窗口)

Settings Dialog

  1. 选择 外观和行为
  2. 选择 系统设置
  3. 选择 内存设置

此时可以将IDE堆大小设置更改为所需值

在Mac上:

  1. 选择 Android Studio
  2. 选择 首选项

同样会出现弹出窗口。但这次在Mac上叫做 "首选项"。

在显示“首选项”对话框后,按照与Windows版本相同的步骤调整堆大小。


5
在Mac OSX上,可以通过转到第一个菜单项 Android Studio > preference > System Settings(左侧菜单)> Memory Settings 并在对话框中更改堆大小来轻松更改堆大小。

enter image description here


3
在Windows 7上,[INSTALL-LOCATION]\bin下的配置文件似乎被忽略了。根据以下Google文档,需要修改的文件应该在这里:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptionshttp://tools.android.com/tech-docs/configuration 奇怪的是,在从开发者网站干净的安装Android Studio 1.1之后并没有此类文件。它们在旧的(被忽略的)位置。一旦我复制文件(在我的情况下是studio.exe.vmoptions)并进行修改,更改就会生效。
然而,有一个上限值-Xmx,可能与您系统中的内存量有关。我刚刚将机器的内存从4GB增加到16GB,并假设我可以将-Xmx设置为2048m,但我发现,如果我将其设置为大于1500m的任何值,则Android Studio将悄无声息地无法启动,并且没有任何迹象表明为什么会这样。我有更多的RAM即将到来,所以看看是否可以在那时增加该值将会很有趣。
希望这些额外的信息有所帮助。虽然以上所有答复无疑在某个时候是正确的(在某些环境中仍然可能如此),但我发现这是唯一可以增加AS使用内存的方法。

2

打开studio.vmoptions文件并更改JVM选项

studio.vmoptions位于/Applications/Android\ Studio.app/bin/studio.vmoptions(Mac OS). 在我的电脑上,它看起来像:

-Xms128m
-Xmx800m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

更改为

-Xms256m
-Xmx1024m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

并重新启动Android Studio

更多信息请参见Android Studio网站


2

进入Gradle Scripts -> local.properties,并粘贴以下内容

`org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m`

如果您想将其更改为512,请尝试!


2
我在Windows 7/8 (64位)上发现,从Android Studio 1.1.0开始:
如果存在[INSTALL_DIR]\bin\studio64.exe.vmoptions,则使用它,否则将始终回退到%USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions 如果您想从%USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions管理设置,请删除安装目录中的一个。

2

您不应该修改 bin/studio.exe.vmoptions 文件,因为在应用更新补丁时会进行验证。

解决方案在这里:http://tools.android.com/tech-docs/configuration

将该文件复制到以下位置,然后将 -Xmx1280m 更改为您想要的任何值。

Windows:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions 和/或 %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

%USERPROFILE%\.{FOLDER_NAME}\idea.properties

Mac:

~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions ~/Library/Preferences/{FOLDER_NAME}/idea.properties

Linux:

~/.{FOLDER_NAME}/studio.vmoptions 和/或 ~/.{FOLDER_NAME}/studio64.vmoptions

~/.{FOLDER_NAME}/idea.properties


1
最好使用IntelliJ/Android Studios自己的功能来完成它:打开IDE并单击“帮助”->“编辑自定义VM选项”。 - Thommy

2

每次处理XML时,我都会遇到XmsXmx内存不足的问题。我尝试增加内存大小,但发现再次出现这个问题只是时间稍长而已。

我非常沮丧,几乎决定将所有项目转换回Eclipse,但这并不是我想要的。后来,我找出了问题所在,并能够重复此故障并防止其发生。

在(Text view)中编辑XML并使用“Preview”渲染视图会导致内存溢出,每次都会出现。关闭“Preview”并仅使用Design标签呈现屏幕,我可以整天使用Android Studio而无需崩溃。

我希望这个问题可以彻底解决,因为在编辑XML时使用“Preview”渲染将非常方便,但我很高兴我仍然可以继续使用Android Studio。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接