记录一次工作中遇到的坑: 今天升级了Android studio 3.5 版本, 正常升级后安装一切正常,接下来修改Android Studio内存大小来提高工作效率。 这次没有和以往一样直接修改 包内容/Contents/bin/studio.vmoptions 中的值, 通过Studio 中的 Help/ Edit Custom VM Options... 来修改为如下值
代码语言:javascript复制-Xms4096m
-Xmx4096m
-XX:ReservedCodeCacheSize=4096m
重启Android Studio 然后 Studio 无法启动了
一脸漫然, 发现重新安装也依然是无法启动... 经过google后才找到了问题原因和解决方法
解决方案
- 打开包内容/Contents/MacOS/studio 脚本,可以看到启动失败的错误信息
Invalid ReservedCodeCacheSize=4096M. Must be at most 2048M. 2019-09-14 10:40:36.313 studio[7750:149093] JNI_CreateJavaVM (/Applications/Android Studio.app/Contents/jre/jdk) failed: 4294967295 logout Deleting expired sessions...30 completed.
从错误信息中可以看到原因是 ReservedCodeCacheSize 的值设置的有问题,最大只能设置为2048
2.打开包内容/Contents/bin/studio.vmoptions 中 找到 ReservedCodeCacheSize
-Xms256m -Xmx1280m -XX:ReservedCodeCacheSize=240m -XX: UseCompressedOops -Dfile.encoding=UTF-8 -XX: UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djna.nosys=true -Djna.boot.library.path=
XX:ReservedCodeCacheSize 不是 4096 和错误提示的不一样, 那肯定还有另一个文件配置了这个参数
查找发现 /Users/***/Library/Preferences/AndroidStudio3.5
目录中也配置了这样一个文件
-Xms4096m -Xmx4096m -XX:ReservedCodeCacheSize=4096m -XX: UseCompressedOops -Dfile.encoding=UTF-8 -XX: UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true -Djna.boot.library.path=
果然错误是这里配置了4096, 修改为提示中的2048,重新启动Studio , 问题解决了。