我已经使用Android Studio 3个月了,我开始使用的其中一个应用程序变得相当大。程序右下方显示的内存使用情况表明我分配的堆最大值为494M。
当我开始更改XML文件时,我的内存使用量很快达到上限,并且IDE崩溃时出现Out Of Memory错误。
我试图用这个增加堆大小,但到目前为止没有任何影响。
我已经看了几十篇关于如何增加堆大小的文章和其他问题,但他们的答案都没有奏效。无论我对VMOPTIONS或IDE设置做什么,堆大小都不会增加。我相信我正在为VMOPTIONS编辑正确的文件,因为如果我故意给它一个无效的命令Android Studio抱怨它并且不启动。
我正在使用Windows 7 - 64位并拥有16GB RAM。 Android Studio有没有其他人遇到此问题?你能解决它吗?
打开位于
/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选项”来创建/编辑此文件。
我尝试了_JAVA_OPTIONS的东西,但它仍然不适合我。
最后,对我有用的是:
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:+HeapDumpOnOutOfMemoryError
-Dfile.encoding=utf-8
在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使用的内存的唯一方法。
打开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
我发现在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
管理的设置,只需删除安装目录中的设置即可。
进入Gradle Scripts - > local.properties并粘贴它
`org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m`
,如果你想把它改成512.希望它有效!
您不应该修改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
~/.{FOLDER_NAME}/studio.vmoptions
和/或~/.{FOLDER_NAME}/studio64.vmoptions
~/.{FOLDER_NAME}/idea.properties
如果我在使用XML时,这个Xms
和Xmx
内存低问题发生在我身上。我也尝试过增加这个记忆,但却发现只需要花一点时间就可以再次发生。
在非常沮丧并且几乎决定将我当前的所有项目转换回Eclipse之后,我不想做,我找出了导致它的原因并且能够重复这个失败并且每次都能阻止它。
在(文本视图)中编辑XML并使用“预览”渲染视图时,每次都会导致内存丢失。关闭“预览”并使用“设计”选项卡仅渲染屏幕,我可以整天使用Android Studio,而不会崩溃。
我希望这可以很好地修复,因为在编辑XML时使用“预览”渲染会非常好,但是我很高兴能继续使用Android Studio。
可以帮助解决此问题的人:
我编辑studio64.exe.vmoptions
文件,但未能保存。
所以我在Run as Administrator
模式下使用Notepad ++打开了这个文件,然后成功保存。
-Xms256m
-Xmx2048m
-XX:MaxPermSize=512m
-XX:ReservedCodeCacheSize=128m
-XX:+UseCompressedOops
或者,您可以转到android-studio\bin
文件夹并在studio.exe.vmoptions
或studio64.exe.vmoptions
文件中更改这些-Xmx和-Xms值(具体取决于您运行的版本)。
如果通过更改或创建.studio.exe.vmoptions
不起作用,请尝试更改gradle.properties
文件并根据您的要求更改堆大小。
在我的Windows 7上安装4Gb RAM和安装Android Studio 2.2时,它真的对我有用。
正常工作,没有错误并显示“Gradle Sync complete”
我查看了我的环境变量并且有一个名为_JAVA_OPTIONS
的系统变量,其值为-Xms256m -Xmx512m
,将此值更改为-Xms256m -Xmx1024m
后,最大堆大小也相应增加。
我在下一篇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选项”来修改此文件,只需复制并粘贴您可能要保留的变量,以便增加它可能在您的盒子上的永久性。
您不应编辑IDE安装目录中的任何文件。相反,您可以通过在以下目录中创建自己的.properties或.vmoptions文件来自定义属性。 (这在以前的某些平台上是可行的,但它需要你复制和更改文件的全部内容。通过最新的更改,这些属性现在是添加的,这样你可以只设置你关心的属性,其余的将使用IDE安装中的默认值)。
注意:从Android Studio 2.0开始,您可以通过访问“帮助”菜单中的“编辑自定义VM选项”文件来创建/编辑此文件。
注意:我现在这不是帖子的答案,但也许这对某些正在寻找的人有帮助。
如果这对您没有任何帮助,请尝试使用Mac,看看是否有帮助,在最新版本的Android Studio中,studio.vmoptions位于Applications文件夹中的AndroidStudio.app内。
所以右键单击或按住Ctrl键单击AndroidStudio.App,然后选择studio.vmoptions所在的show package content:
内容/斌/ studio.vmoptions
更换或更改它,您将获得所需的所有RAM。
问候。
现在有很多答案已经过时了。最近更改了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