场景
最近这idea闪退频率又多了不少 以前 几天一闪退 现在 一天N多次闪退
如下图
看这崩溃日志 这怎么顶
解决办法
- 查看崩溃日志
日志 1
日志2
日志3
可以看出现在生效的参数
Command Line: -Xms128m -Xmx750m
-XX:ReservedCodeCacheSize=512m
-XX:+IgnoreUnrecognizedVMOptions -XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -ea -Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -XX:ErrorFile=/Users/leon/java_error_in_idea_%p.log -XX:HeapDumpPath=/Users/leon/java_error_in_idea.hprof
-Xmx2048m
-javaagent:/usr/local/develop/xxx/ja-xxx.jar
-Djb.vmOptionsFile=/Users/leon/Library/Application Support/JetBrains/IntelliJIdea2022.1/idea.vmoptions -Dsplash=true -Didea.strict.classpath=true -Didea.jre.check=true -Didea.executable=idea -Didea.home.path=/Applications/IntelliJ IDEA.app/Contents -Djava.system.class.loader=com.intellij.util.lang.PathClassLoader -Didea.paths.selector=IntelliJIdea2022.1 -Didea.vendor.name=JetBrains
可以看出 后续配置的 -Xmx2048m 不一定生效 生效的可能是 -Xms128m -Xmx750m
同时 最小堆和最大堆设置不一样 导致堆会动态调整
- 调整内存
给idea设置一个稳定的堆 建议不要过大 也不要过小 (之前我配置的是2048m)但是从上面的配置来看 内存申请根本到不了2048
mac 版本idea 增加参数 到 idea.vmoptions 文件中 同时指定 最大和最小内存 避免一直动态调整
-Xmx1024m
-Xms1024m
其他说明
idea 崩溃不仅仅只有 内存不够 或者内存配置不合理 在说明一下其他的场景
- 插件安装问题
可以根据具体的报错信息,在进行定位是哪个插件 最后对症下药 要不卸载 (直接从用户目录下找到对应的位置 )要不找修复方案 - 缺少依赖
idea中jar 避免乱动 但是有可能被 误删除 导致启动报错 建议将idea 应用、配置、 缓存全部清理干净在重新安装 - idea版本问题
例如之前高版本 后来降低到低版本 解决办法 将idea 应用、配置、 缓存全部清理干净在重新安装 - idea和谐有问题
都用的和谐软件 可能版本以及对应和谐jar无法匹配 或者 和谐jar找不到
解决 下载与之对应的和谐jar 然后确定jar 的位置是否有权限访问以及是否存在