最近因为工作需要,经常一次打开好几个Android Studio的窗口。但是窗口开多了,问题也就来了,卡的不得了,对于急性子的我实在是忍不了,随即谷哥度娘一番。
发现主要是以下原因:发现原来是Android Studio限制了Java虚拟机启动的内存大小,限制了最大堆内存,当AS运行越久,内存越不足的时候,就会频繁的触发GC,AS就自然会卡起来了,严重的直接黑屏。
解决办法:
修改AndroidStudio安装目录下的 studio.vmoptions 配置文件
查看当前AS的内存大小:
在AS中打开Preferences -> Appearance & Behavior -> Appearance,将复选框 Show memory indicator 改成勾选状态,如下:
点击OK之后,就可以在Android Studio的右下角看到当前AS使用的内存以及最大内存,鼠标停留上面还会弹出详细使用情况。如下:
可以看出当前AS已经使用了305M,但是AS最大可分配1237M,也就是1G多一点。正常情况下是够用的,但是当开多个AS窗口后不免就有些吃力,那如何扩展最大分配内存呢?
修改AS启动参数
AS启动参数的配置文件被放在安装目录下bin目录中studio.vmoptions
文件。并且在Windows和Mac操作系统中略有不同。
1)Window操作系统 Android Studio\bin\ 目录下有两个 .vmoptions 文件:
studio.exe.vmoptions: 32位操作系统的配置文件
studio64.ext.vmoptions:64位操作系统的配置文件
2)Mac操作系统中只有一个 .vmoptions 文件,其路径如下:
/Applications/Android Studio.app/Contents/bin/studio.vmoptions
我的电脑是Mac系统,所以以此为例。使用文本编辑器打开此文件如下:
解释说明:
-Xms256m:初始堆大小,当JVM的空余堆内存小于40%时,就会增大堆直到达到最大堆大小
-Xmx1280m:Android Studio 最大堆大小
我们只需要修改以上两项参数即可,增加初始化堆和最大堆大小,修改如下:
保存后重启AS,再次运行。就能够发现AS启动和运行比之前流畅很多。
Problem Solved!