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

问题描述 投票:102回答:20

我已经使用Android Studio 3个月了,我开始使用的其中一个应用程序变得相当大。程序右下方显示的内存使用情况表明我分配的堆最大值为494M。

当我开始更改XML文件时,我的内存使用量很快达到上限,并且IDE崩溃时出现Out Of Memory错误。

我试图用这个增加堆大小,但到目前为止没有任何影响。

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

我正在使用Windows 7 - 64位并拥有16GB RAM。 Android Studio有没有其他人遇到此问题?你能解决它吗?

android memory-management crash out-of-memory android-studio
20个回答
121
投票

打开位于 /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。

更多在this post

----------编辑----------

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


5
投票

我尝试了_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

4
投票

首先检查为Android工作室分配的内存量,以检查是否按照以下步骤操作:

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

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

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

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

-Xmx6g

在我的情况下,我已经设置了6GB,因为我的电脑RAM是12 GB。它取决于你想要分配给你的android工作室多少内存


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,并假设我可以将-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 website


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
投票

进入Gradle Scripts - > local.properties并粘贴它

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

,如果你想把它改成512.希望它有效!


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


2
投票

如果我在使用XML时,这个XmsXmx内存低问题发生在我身上。我也尝试过增加这个记忆,但却发现只需要花一点时间就可以再次发生。

在非常沮丧并且几乎决定将我当前的所有项目转换回Eclipse之后,我不想做,我找出了导致它的原因并且能够重复这个失败并且每次都能阻止它。

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

我希望这可以很好地修复,因为在编辑XML时使用“预览”渲染会非常好,但是我很高兴能继续使用Android Studio。


1
投票

可以帮助解决此问题的人:

我编辑studio64.exe.vmoptions文件,但未能保存。

所以我在Run as Administrator模式下使用Notepad ++打开了这个文件,然后成功保存。


1
投票

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

47
投票

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


1
投票

如果通过更改或创建.studio.exe.vmoptions不起作用,请尝试更改gradle.properties文件并根据您的要求更改堆大小。

在我的Windows 7上安装4Gb RAM和安装Android Studio 2.2时,它真的对我有用。

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


46
投票

我查看了我的环境变量并且有一个名为_JAVA_OPTIONS的系统变量,其值为-Xms256m -Xmx512m,将此值更改为-Xms256m -Xmx1024m后,最大堆大小也相应增加。


31
投票

我在下一篇Google文档后增加了记忆力:

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

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

我试过谷歌所描述的,但对我来说,唯一有用的是使用环境变量。我将描述我的所作所为:

首先,我创建了一个名为.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

现在你可以看到使用status bar,我有超过2000 MB可用于Android Studio:

您可以根据自己的需要自定义您的值2048Mb即可。

更新:Android Studio 2.0允许您通过访问“帮助”菜单中的“编辑自定义VM选项”来修改此文件,只需复制并粘贴您可能要保留的变量,以便增加它可能在您的盒子上的永久性。


26
投票

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

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

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

enter image description here


10
投票

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

enter image description here

要么

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

然后增加Xmx

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

现在你的Android Studio将超级快。


9
投票

注意:我现在这不是帖子的答案,但也许这对某些正在寻找的人有帮助。

如果这对您没有任何帮助,请尝试使用Mac,看看是否有帮助,在最新版本的Android Studio中,studio.vmoptions位于Applications文件夹中的AndroidStudio.app内。

所以右键单击或按住Ctrl键单击AndroidStudio.App,然后选择studio.vmoptions所在的show package content:

内容/斌/ studio.vmoptions

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

问候。


9
投票

Android Studio 3.1具有编辑自定义虚拟内存选项的选项。

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

enter image description here

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

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

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

6
投票

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

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

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

Mac:~/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

© www.soinside.com 2019 - 2024. All rights reserved.