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

时间:2013-09-10 16:01:19

标签: android memory-management crash out-of-memory android-studio

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

enter image description here

当我开始更改XML文件时,我的内存使用量很快达到上限,并且IDE因内存不足而崩溃。

enter image description here

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

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

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

24 个答案:

答案 0 :(得分:118)

打开位于的文件 /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选项”来创建/编辑此文件。

答案 1 :(得分:47)

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

答案 2 :(得分:45)

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

答案 3 :(得分:28)

我在下一篇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

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

enter image description here

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

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

答案 4 :(得分:25)

  

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

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

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

enter image description here

答案 5 :(得分:10)

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

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将超级快。

答案 6 :(得分:9)

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

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

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

内容/斌/ studio.vmoptions

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

enter image description here enter image description here

问候。

答案 7 :(得分:6)

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

答案 8 :(得分:6)

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

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

视窗: %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

答案 9 :(得分:5)

您可以尝试以下任何一种

1) 更改 gradle.properties 文件并根据您的要求更改堆大小。

如果 org.gradle.jvmargs=-Xmx2048M 不够,则更改为 4096 给定

org.gradle.jvmargs=-Xmx4096M enter image description here

2) 从“帮助”菜单中“编辑自定义 VM 选项”。

它将打开 studio.vmoptions / studio64.exe.vmoptions 文件。

enter image description here 将内容改为

-Xms128m

-Xmx4096m

-XX:MaxPermSize=1024m

-XX:ReservedCodeCacheSize=200m

-XX:+UseCompressedOops

保存文件并重启 Android Studio。

答案 10 :(得分:4)

首先检查为你的android工作室分配了多少内存 检查是否按照以下步骤操作:

  

档案 - >设置 - >外观&动作 - >外观

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

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

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

-Xmx6g

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

答案 11 :(得分:4)

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

在Android Studio中的Windows上:

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

Settings Dialog

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

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

在Mac上:

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

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

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

答案 12 :(得分:4)

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




答案 13 :(得分: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使用的内存的唯一方法。

答案 14 :(得分: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管理设置,只需删除安装目录中的设置即可。

答案 15 :(得分:2)

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

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

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

答案 16 :(得分: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

的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

答案 17 :(得分:2)

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

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

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

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

答案 18 :(得分:1)

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

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

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

答案 19 :(得分:1)

val strings = List("something", "something.else", "something-else" )
val blacklist = Set(".else", ".new", ".old")

答案 20 :(得分:1)

打开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

答案 21 :(得分:1)

如果更改或创建.studio.exe.vmoptions无效,请尝试更改gradle.properties文件并根据您的要求更改堆大小。

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

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

答案 22 :(得分:0)

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

enter image description here

答案 23 :(得分:0)

在Ubuntu上,直接单击帮助>编辑自定义VM选项 。 IDE询问是否为您创建文件,然后单击“确定”。

将创建一个空的 studio64.vmoptions 文件并粘贴以下变量:

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

重新启动IDE,“最大堆大小”增加为:4,062M