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

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

enter image description here

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

enter image description here

我已经尝试使用这种方法来增加堆大小,但是到目前为止还没有效果。

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

我使用的是 Windows 7-64位和16GB 内存。 还有其他人在 Android Studio 上遇到过这个问题吗? 你能解决吗?

245811 次浏览

我查看了我的环境变量,有一个叫做 _JAVA_OPTIONS的系统变量,它的值是 -Xms256m -Xmx512m,在将它改为 -Xms256m -Xmx1024m之后,堆的最大大小相应地增加了。

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

我尝试了 _ JAVA _ OPTION 的东西,但它仍然不适合我。

最后,对我起作用的是以下几点:

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

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

在我使用 XML 的任何时候,都会发生 XmsXmx内存不足的问题。我也试着增加这种记忆,结果发现它只是需要一点时间才能再次发生。

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

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

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

打开 Studio.vmoptions 并更改 JVM 选项

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.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,然后才能应用新的内存设置。(来源)

在下一篇 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 _ OPTION 环境变量:

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

然后我重新载入我的. profile:

  • source ~/.profile

最后,我打开 Android Studio:

  • open /Applications/Android\ Studio.app

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

enter image description here

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

更新: Android Studio 2.0允许您通过访问“编辑自定义 VM 选项”从帮助菜单中修改该文件,只需复制和粘贴您可能想要保留的变量,以增加您的机器上可能有的所有版本。

注: 我现在不是这个职位的答案,但也许这将有助于一些人正在寻找。

如果这些都不适合你,在 Mac 上尝试一下,看看是否有帮助,在 Android Studio 的最新版本中,Studio.vmoptions 在应用程序文件夹的 AndroidStudio.app 中。

因此,右键单击或者 ctrl 单击 AndroidStudio.App,然后选择 show package content the studio.vmoptions is in:

目录/bin/studio.vmoptions

替换或改变它,你将得到所有的内存你需要的。

enter image description here enter image description here

问候。

可以帮助那些有这个问题的人:

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

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

我在 Windows7/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管理设置,只需删除安装目录中的设置。

有很多答案现在已经过时了。改变 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

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

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

,如果你想改为512。希望它的工作!

如果您使用的是 MAC 书,那么在 申请表-> 右键单击 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 工作室将超级快。

您不应该修改 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

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

不应编辑 IDE 安装目录中的任何文件。相反,您可以通过创建自己的。物业或。下列目录中的 vmoptions 文件。(这在以前的某些平台上是可行的,但是需要复制和更改文件的整个内容。随着最新的更改,这些属性现在是附加的,这样您就可以只设置您关心的属性,其余的属性将使用 IDE 安装中的默认值)。

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

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

enter image description here

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

它确实在我的 Windows 7上运行良好,安装了4Gb 内存和 Android Studio 2.2。

正常工作,没有错误,并显示’级别同步完成’

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

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

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

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

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

-Xmx6g

在我的例子中,我将它设置为6GB,因为我的个人电脑内存是12GB。这取决于您想要分配给您的 Android 工作室多少内存

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

在 Mac OSX 上,人们可以很容易地改变堆大小,只需在对话框中打开第一个菜单项 Android Studio > 偏好 > 系统设置(左边菜单) > 内存设置并改变堆大小。

enter image description here

这就是当前在 Android Studio 3.6.1中改变堆大小的方法

Android Studio 中的 Windows:

  1. 选择 File-> Settings (将显示下面的弹出窗口)

Settings Dialog

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

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

关于 Mac:

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

同样的弹出窗口会出现,但是这次在 Mac 上它被称为首选项。

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

在 Ubuntu 上,直接点击 < strong > Help > Edit Custom VM Options 。 IDE 询问是否为您创建文件,请单击“确定”。

创建并粘贴以下变量时,会出现一个空的 Studio64.vmoptions文件:

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

重新启动 IDE,堆的最大大小增加到: 4,062 M

您可以尝试以下任何一种方法

1)根据需要更改 gradle.properties 文件和堆大小。

如果 Jvmargs =-Xmx2048M不够,那么按照给定的改为 4096

Jvmargs =-Xmx4096M enter image description here

2)「编辑自订 VM 选项」。

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

enter image description here 将内容更改为

- Xms128m

- Xmx4096m

- XX: MaxPermSize = 1024m

- XX: Reserve CodeCacheSize = 200 m

- XX: + UseCompresseOops

保存该文件并重新启动 Android Studio。

从2022年开始,你可以点击这个链接。 Https://developer.android.com/studio/intro/studio-config.html

窗户

语法: %APPDATA%\Google\<product><version>

例子: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

MacOS

语法: ~/Library/Application Support/Google/<product><version>

例子: ~/Library/Application Support/Google/AndroidStudio4.1