(J或A)IDEA/Eclipse闪退报错:There is insufficient memory for the Java Runtime Environment to continue.解决方法

开局上图这是我的Android Studio错误日志的内容:
报错log输出

引言😭

在最近完成项目后,发现C盘内存不足。于是手欠想要删掉一些没有用东西腾出点磁盘空间。于是乎打开“控制面板”开始了软件卸载。我发现有3个JDK环境,我以为是冗余的安装就把
  🚫*** JKD8(问题起因)、JDK11卸载了*** 🚫,
  只留下了JDK17。删除之后就清理了一下垃圾文件,关机睡觉了。殊不知,我的噩梦也正式开始了!第二天编写项目文件时需要插几张程序图片,我就又打开IDEA、AndroidStudio准备运行项目。可是,他们全都出现了异常状况,刚打开就闪退,或者是一编译就闪退。我查了一下说是我把JDK8环境卸载的缘故。可就算是重新配置JDK8环境也还是闪退报错,尝试了很多次都以失败告终。
  😔哎,没办法了重装系统吧!

尝试一:重装系统(没有解决问题)❌

🚫 友情提示:重装系统前一定要把文件备份 ❗❗❗
🚫 友情提示:重装系统前一定要把文件备份 ❗❗❗
🚫 友情提示:重装系统前一定要把文件备份 ❗❗❗

根据经验来看,对于电脑之类的电子产品,没有什么故障是重装系统解决不了的。如果有,那就再装一遍!😊重装系统我选择的是制作PE系统启动U盘的方式。

1、启动盘制作工具为“微PE”:(👍免费、纯净)

微PE工具: 下载链接:https://www.wepe.com.cn/download.html.

微PE 下载最新的微PE工具箱V2.3即可。

2、Windows10系统镜像去Windows官方网站下载即可(.iso文件)。

Windows10官方: 下载链接:https://www.microsoft.com/zh-cn/software-download/windows10.

Windows10官方下载界面
点击“立即下载工具”下载Windows10系统工具。其实这个工具也可以制作系统启动U盘,但是我当时试的时候没有成功。能用这个制作更好,毕竟官方给的最放心😀。Windows10.iso镜像文件下载好之后就可以制作启动盘了。具体操作方法大家可以看微PE官方使用手册,或者直接上CSDN、知乎搜索即可。

3、重装系统之后,再安装JDK8(先装这个,安装完最好重启电脑)、Eclipse、Android Studio。

JDK8官方: 下载链接:https://www.oracle.com/java/technologies/downloads/.
Eclipse官方: 下载链接:https://www.eclipse.org/downloads/.
Android Studio官方: 下载链接:https://developer.android.google.cn/studio/.

尝试二:修改JVM配置(有效果但还是会崩溃)❌

搜索了一些帖子都说是Java堆内存设置的不合理。具体的内部实现原理请大家读这篇博客:

叶威1 著 《Tomcat中JVM内存溢出及合理配置》 2013-07-16
CSDN: 链接:https://blog.csdn.net/ye1992/article/details/9344807.

虽然我们是Windows系统不是Tomcat服务器,但是具体Java程序的底层运行原理是一样的。对于JVM配置的原理也是相通的。具体怎么设置就要根据每个人的电脑配置来看了。

我的电脑是8G运行内存,所以Android Studio的IDE max heap size设置就是1028MB,下面的Gradle deamon heap size与Kotlin deamon heap size的大小为1536MB。(我的Android使用Kotlin开发的所以会有Kotlin设置)

1、点击AndroidStudio->Help->Change Memory Setting设置(与下边的IDE max heap size修改框功能相同)
在这里插入图片描述
2、点击AndroidStudio->File->Setting->Appearance & Behavior->System Setting->Memory Setting设置
在这里插入图片描述
3、点击AndroidStudio->Help->Edit Custom VM Options…设置。其实这个文件就是上边博主说的JVM配置文件,这里的-Xmx值与上边的1、2功能冗余相同,都是对IDE max heap size的设置,1、2操作会自动生成-Xmx值不需要我们自定义。当然这仅仅对与普通用户来说,我在刚开始找解决方法的时候就尝试调试了这两个值,把Xms与Xmx对应设置为256m/512m、512m/1028m、600m/1536m。它可以起到一定的影响但不是根本原因

在这里插入图片描述

4、Eclipse的JVM配置在eclipse.ini中,当然也可以在程序里改。

具体的修改详情请大家阅读以下博主的文章:

修改.ini文件法
smile_lg 著 《eclipse.ini/myeclipse.ini中配置参数 -Xms,-Xmx,-PerSize》 2017-12-14
CSDN: 链接:https://blog.csdn.net/smile_lg/article/details/78798594.

程序修改法
进击的中国学渣 著 《eclipse如何调整jvm内存大小》 2017-09-28
CSDN: 链接:https://blog.csdn.net/wengsy_5041/article/details/78125498.

这是我现在的配置。其实没有变,改来改去发现问题不在这又还原回默认的配置了

在这里插入图片描述
调试这些JVM参数整整2天,始终找不到一个合适的数值。最后实在没办法只能再搜一搜解决方法,又找到了一个说是调Windows10系统虚拟内存的博客。我试了一下,结果成功了,但是这期间还遇到了一个小问题😂。

尝试三:修改Windows10系统虚拟内存配置(完美解决)✅

刚开始找了一篇博客配置虚拟内存,他里边用的是自定义每个驱动器的分页文件大小。我按照他说的改了一下,自定义后重启运行还是会崩溃,没有解决。但是就在我感到无力的时候,我发现身边同学的电脑4G运存都不会崩溃,我这8G运存崩溃是不是有点说不过去🤣。于是我研究了他的Eclipse、Android Studio的JVM配置,发现和我的一摸一样,那我这8G运存为什么跑不起来?我立马意识到可能虚拟内存不对劲。
果然,他的虚拟内存设置的是“自动管理所有驱动器的分页文件大小”。在这里插入图片描述
我开始也不报多大希望,结果改完之后重启电脑跑了一下程序,成功了😍。我进行了一波极限操作,比如两个软件同时编译、同时运行、在它们运行时同时点击QQ面板操作,任务管理器显示的内存占用达到98%,但程序没有闪退、系统没有蓝屏奔溃✅。
🆗问题成功解决。

下面是修改Windows10虚拟内存的步骤:

1、鼠标右键点击“此电脑”图标,然后点击“属性”:
在这里插入图片描述
2、在打开的属性界面中,点击右上角区域的 “高级系统设置”:
在这里插入图片描述
3、在弹出框的顶部栏选择 “高级”选项卡,然后点击性能区域的 “设置”图标:
在这里插入图片描述
4、在弹出框的顶部栏选择 “高级”选项卡,然后点击虚拟内存区域的 “更改” 图标:
在这里插入图片描述
5、在弹出框的顶部勾选 “自动管理所有驱动器的分页文件大小”,然后点击“确定” 图标:(记得重启电脑)
在这里插入图片描述
6、重启电脑,使修改的系统设置生效。

7、运行软件测试🆗✅。

下图就是我测试的效果,93%的内存占用,但是右边的模拟器依旧能打开运行,没有闪退,也没有挂起,根没有蓝屏(😭你们能想像到一上午蓝屏5次的感觉吗😭)。
在这里插入图片描述

总结

针对不同的问题有不同的解决方法,我只是把我自己经历的调试过程总结了一下。可能大家按照我说的操作下来也能够解决问题,那你真应该谢天谢地了,你的电脑没有出现新BUG。
如果没有解决,也请不要喷我,咱可是有图有真相地解决了。你可以按照我的思路再从网上搜一搜,再研究研究别人电脑的相关配置,相信你一定可以解决的。
到时候请你一定要把解决方法也写成博客分享给大家。谢谢!

以上内容仅为个人粗浅观点,如有错误不足之处还请各位大佬多多指正!感谢大家!🙏

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值