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


118

我使用Android Studio已有3个月了,而我开始使用它的应用程序已经变得相当庞大。程序右下角指示的内存使用量表示我分配的堆最大为494M。

在此处输入图片说明

当我开始更改XML文件时,我的内存使用量很快达到该上限,并且IDE崩溃,并显示如下内存不足错误。

在此处输入图片说明

我尝试使用此方法来增加堆大小,但到目前为止没有任何效果。

我看了很多关于如何增加堆大小的文章和其他问题,但是他们的答案都没有用。无论我对VMOPTIONS或IDE设置做什么,堆大小都不会增加。我相信我正在为VMOPTIONS编辑正确的文件,因为如果我故意给它一个无效的命令,Android Studio会抱怨它并且无法启动。

我正在使用Windows 7-64位并具有16GB RAM。还有其他人在Android Studio中遇到此问题吗?并且您能够修复它?


见下面@关于内存和工作室JVM启动配置用户特定的设置最先进的最新信息末席的答案stackoverflow.com/a/29057416/396005
勒布朗·戴维斯

1
更新的Android Studio文档:developer.android.com/studio/intro/...
莫里森畅

Answers:


136

- - - -编辑 - - - -

在Android Studio 2.0及更高版本中,您可以通过从“帮助”菜单访问“编辑自定义VM选项”来创建/编辑此文件。

-------原始答案--------

打开文件位于

/Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

将内容更改为

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

Xmx指定Java虚拟机(JVM)的最大内存分配池,而Xms指定初始内存分配池。您的JVM将以Xms内存量启动,并且将能够使用最大Xmx数量的内存。

保存studio.vmoptions文件并重新启动Android Studio。

这个职位更多。

注意:

如果您更改了IDE的堆大小,则必须在应用新的内存设置之前重新启动Android Studio。(来源


这为我解决了一个非常大的项目中的一个问题,在该项目中,Android Studio在构建符号图时将在1500万后耗尽内存。我将Xms更改为1024m,将Xmx更改为4096,并且在30秒内构建了符号映射-因此垃圾收集器一定已经运行了很长时间。
RikMaxSpeed

10
如Lord Flash所述:从Android Studio 2.0开始,您可以通过从“帮助”菜单访问“编辑自定义VM选项”来创建/编辑此文件。
拉格·马格努森

谢谢,这非常有用。仅供参考,如果您使用64位版本,则要编辑的文件名为studio64.exe.vmoptions。
Eselfar '17

50

在将其更改为最大堆大小相应地增加之后,我查看了我的环境变量并_JAVA_OPTIONS使用值调用了系统变量。-Xms256m -Xmx512m-Xms256m -Xmx1024m


9
没有名为_JAVA_OPTIONS的系统变量。但我手动创建了一个新的,它工作正常。谢谢
Yasir Ali

好,这有效!我想知道是否增加堆大小是一件好事...我的意思是,它可以工作,并且在某些情况下肯定是正确的方法,但是它总是正确的方法吗?还是有更好的解决方案?谢谢!
马力诺(Marino)

这方面的问题也因堆大小 stackoverflow.com/questions/29148374/...
萨加尔Devanga

也不对我有用,但是事实证明,Android Studio允许一些Java进程从以前的执行中挂起,并且显然所有这些进程仍在使用大量内存。
alex.magellan 2015年

48

或者,您可以转到android-studio\bin文件夹并在studio.exe.vmoptionsstudio64.exe.vmoptions文件中更改这些-Xmx和-Xms值(取决于运行的版本)。


2
这对我不起作用,因为_JAVA_OPTIONS变量被用作默认值。
zafrani 2014年

更改了两个选项(vmoptions和_JAVA_OPTIONS),但是我仍然遇到错误
Raphael Royer-Rivard 2014年

如果您有意在vmoptions中输入语法错误,那么重新启动程序时它是否会使程序崩溃?
zafrani 2014年

我不确定,但我认为不应该。另外,请问您为什么要故意在vmoptions中输入语法错误?
croc 2014年


32

在下一份Google文档之后,我增加了记忆力:

http://tools.android.com/tech-docs/configuration

默认情况下,Android Studio的最大分配值为750Mb,我更改为2048Mb。

我尝试了google描述的内容,但对我来说唯一起作用的是使用环境变量。我将描述我做了什么:

首先,我创建了一个名为.AndroidStudioSettings的目录,

  • mkdir .AndroidStudioSettings

然后创建了一个名为studio.vmoptions的文件,并将以下内容放入该文件中:

-Xms256m 
-Xmx2048m 
-XX:MaxPermSize=512m 
-XX:ReservedCodeCacheSize=128m 
-XX:+UseCompressedOops 

然后,我在.profile文件中添加了STUDIO_VM_OPTIONS环境变量:

  • export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptions

然后,我重新加载我的.profile:

  • source ~/.profile

最后,我打开Android Studio:

  • open /Applications/Android\ Studio.app

现在,您可以使用状态栏看到,我有超过2000 MB的空间可用于Android Studio:

在此处输入图片说明

在我的情况下,您可以根据需要自定义值2048Mb就足够了。

更新:Android Studio 2.0让您通过从“帮助”菜单访问“编辑自定义VM选项”来修改此文件,只需复制并粘贴您可能想要保留的变量,以增加其在盒子上的版本。


仅从shell打开AS时,此解决方案不起作用吗?
guy.gc

您在哪里输入命令,例如export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptions在终端上?
COYG '16

31

您不应在IDE安装目录中编辑任何文件。相反,您可以通过在以下目录中创建自己的.properties或.vmoptions文件来自定义属性。(这在以前的某些平台上是可能的,但是它要求您复制和更改文件的全部内容。通过最新更改,这些属性现在是加性的,以便您可以仅设置自己关心的属性,其余的可以设置将使用IDE安装中的默认设置)。

注意:从Android Studio 2.0开始,您可以通过从“帮助”菜单访问“编辑自定义VM选项”文件来创建/编辑此文件。

http://tools.android.com/tech-docs/configuration

在此处输入图片说明


12

如果您使用的是MAC BOOK,则此选项可在“ 应用程序” ->“ 右键单击Android Studio”中使用,然后选择“ 显示包内容” ->“ bin”

在此处输入图片说明

要么

打开 -e /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

然后增加Xmx价值

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

现在,您的Android Studio将变得超快。


10

Android Studio 3.1可以选择编辑自定义虚拟内存选项。

您可以转到Android Studio>帮助>编辑自定义VM选项

在此处输入图片说明

然后将以下设置代码粘贴到studio64.exe.vmoptions文件并保存。

文件位置:“ \ Users \ username \ .AndroidStudio3。** \ config \”

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

1
最后一行是错误的-Android Studio 3.2在那里启动时崩溃。
CommonsWare '18 -10-19

9

注意: 我现在不是帖子的答案,但这可能对正在寻找的人有所帮助。

如果此方法对您没有用,请在Mac上尝试一下,看看是否有帮助,在最新版本的Android Studio中,studio.vmoptions位于Applications文件夹中的AndroidStudio.app内部。

因此,右键单击或按住ctrl键单击您的AndroidStudio.App,然后选择显示包内容,其中studio.vmoptions位于:

目录/bin/studio.vmoptions

更换或更改它,您将获得所需的所有RAM。

在此处输入图片说明 在此处输入图片说明

问候。


您不应该更改该文件,而应在此处声明该文件:tools.android.com/tech-docs/configuration。对于Mac:〜/ Library / Preferences / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa

6

我尝试了_JAVA_OPTIONS东西,但对我来说仍然无效。

最后,对我有用的是:

  • 启动studio64.exe而不是studio.exe(我有64位计算机)。
  • 在“ studio64.exe.vmoptions”中添加/更改以下值:

-Xms2048m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled 
-XX:+HeapDumpOnOutOfMemoryError
-Dfile.encoding=utf-8


1
与您做的完全一样,我仍然遇到内存不足错误
Raphael Royer-Rivard 2014年

您是否已更新到最新版本的Android Studio?我使用的是Canary Channel,我有1.0 RC 4
ExpensiveBelly,2014年

不,我使用的是0.8.14,但是我发现了内存泄漏的原因。创建名为“ light_gray”的颜色并在布局文件中使用它会使用无限的内存,但是“ light_grey”是可以的。
Raphael Royer-Rivard 2014年

6

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

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

视窗: %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

苹果电脑: ~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions

Linux: ~/.{FOLDER_NAME}/studio.vmoptions and/or ~/.{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 '16

这是正确的答案。其他的则过时或不鼓励使用。
加拉佩塔

4

首先检查为您的android studio分配了多少内存,以检查是否遵循以下步骤:

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

然后检查显示内存指示器选项,如下图红色突出显示的部分 在此处输入图片说明

在我的情况下,我的RAM是12Gb,所以我为android studio 6gb分配了内存。要编辑,请按照以下步骤进行操作

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

-Xmx6g

就我而言,我将其设置为6gb,因为我的PC内存为12 GB。由您决定要分配给Android Studio的内存量


3

在Windows 7上,[INSTALL-LOCATION]\bin似乎忽略的配置文件。根据以下Google文档,要修改的文件应位于此处:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

http://tools.android.com/tech-docs/configuration

奇怪的是,从开发人员站点全新安装Android Studio 1.1时没有此类文件。它们位于旧的(忽略)位置。一旦我复制了文件(studio.exe.vmoptions以我为例)并对其进行了修改,就尊重更改。

但是,乐趣不止于此。有一个较高的值,-Xmx该值可能与系统中的内存量有关。我只是将机器的内存从4Gb提高到了16Gb,并假定可以设置-Xmx2048m,但是我发现,如果将其设置为大于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

从Android Studio 1.1.0开始,我在Windows 7/8(64位)上发现:

[INSTALL_DIR]\bin\studio64.exe.vmoptions 使用(如果存在),否则它将始终退回到 %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

如果您希望通过管理设置%USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions,则只需删除安装目录中的设置即可。


2

进入Gradle脚本-> local.properties并将其粘贴

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

,如果您想将其更改为512。希望它能起作用!


2

您不应修改bin / studio.exe.vmoptions文件,该文件将在应用更新补丁时得到验证。

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

将该文件复制到以下位置,然后将-Xmx1280m更改为所需的格式。

视窗:

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

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

苹果电脑:

~/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
使用IntelliJs / Android Studios自己的功能来执行此操作更安全:打开IDE,然后单击“帮助”->“编辑自定义VM选项”
Thommy

2

每当我使用XML时,是否发生了这种情况XmsXmx导致内存不足的问题。我还尝试增加这种记忆,只是发现它花了一点时间才再次发生。

在非常沮丧并且几乎决定将所有当前项目转换回Eclipse(我不想这样做)之后,我弄清楚了造成这种情况的原因,并且能够重复这种失败并防止每次发生。

在(文本视图)中编辑XML并使用“预览”渲染视图时,每次都会导致内存丢失。关闭“预览”并使用“设计”选项卡仅渲染屏幕,我可以全天使用Android Studio,而不会崩溃。

我希望可以永久解决此问题,因为在编辑XML时使用“预览”渲染会非常好,但是我很高兴能够继续使用Android Studio。


2

这是您如何更改当前在Android Studio 3.6.1中的堆大小的方法

在Android Studio中的Windows上:

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

设置对话框

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

然后将IDE堆大小设置更改为所需的值

在Mac上:

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

将会出现相同的弹出窗口。但是,这一次在Mac上称为“偏好设置”。

遵循与Windows版本的Android Studio相同的步骤来调整堆大小,以显示“首选项”对话框


1

可能会帮助遇到此问题的人:

我编辑studio64.exe.vmoptions文件,但无法保存。

因此,我使用Notepad ++在Run as Administrator模式下打开了该文件,然后成功保存。


1

-Xms256m 
-Xmx2048m 
-XX:MaxPermSize=512m 
-XX:ReservedCodeCacheSize=128m 
-XX:+UseCompressedOops 


6
稍作解释肯定会改善您的答案。
m02ph3u5'8

1

如果通过更改或创建的.studio.exe.vmoptions方式无效,则尝试更改gradle.properties文件并根据需要更改堆大小。

在安装了4Gb RAM的Windows 7和安装了Android Studio 2.2的Windows 7上,它确实为我工作。

正常工作,没有错误并显示“ Gradle Sync complete”


我必须添加grade.properties才能设置调试应用程序时使用的最大堆大小。但是我不得不问,为什么不按Android Studio配置页面中的说明设置studio.vmoptions不能像宣传的那样工作?我担心的是我从根本上做错了(但是肯定看起来不对)。(感谢)我张贴在一个具体问题:stackoverflow.com/questions/40833031/...
JimCzek

1

在Mac OSX上,可以通过转到第一个菜单项Android Studio>首选项>系统设置(左侧菜单)>内存设置轻松更改堆大小,然后在对话框中更改堆大小。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.