记录一次工作中遇到的坑:
今天升级了Android studio 3.5 版本, 正常升级后安装一切正常,接下来修改Android Studio内存大小来提高工作效率。
这次没有和以往一样直接修改 包内容/Contents/bin/studio.vmoptions 中的值,
通过Studio 中的 Help/ Edit Custom VM Options... 来修改为如下值
-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 , 问题解决了。
网友评论