2022-07-24 Expiring Daemon because JVM heap space is exhausted Expiring Daemon because JVM heap space is exhausted
前言:as rn 离线包,报错:Expiring Daemon because JVM heap space is exhausted Expiring Daemon because JVM heap space is exhausted
由于JVM堆空间耗尽而导致守护进程过期由于JVM堆空间耗尽而导致守护进程过期
前排:我的as工具版本是:Android studio 4.2.2
排查:
推测是c盘空间不够,as无法完成打包,看了下c盘,只剩800多兆,清理一下c盘,重新build一下,不行,还是报同样的错误;
此时我的c盘空间还剩2.2G,内寸是16G的,而且就运行了as工具,其他软件都没开,那么为什么会说JVM堆空间耗尽呢?
嗯,百度说可能是as运行内存不足的原因导致的,我查了下资料,找到as的内存设置,发现设置了最大堆大小为1920兆,当前值:1280兆,我开始修改这个值。
操作:as工具==》Help==》Edit Custom VM Options
把值改成4096,就是设置最大内存为4g,根据提示,点击保存并自动重启,然后重新发包。结果我查看修改后的内存还是之前的值:1920兆。
于是继续百度。。
有眉目了,找到一篇文章说是控制as内存设置的文件studio.exe.vmoptions一共有2个,并且两个文件需要改成相同值才行,浅试一下。
一个studio.exe.vmoptions在C:\Program Files\Android\Android Studio\bin,它里面的代码如下:
-server -Xms256m -Xmx768m -XX:ReservedCodeCacheSize=240m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Djna.nosys=true -Djna.boot.library.path= -Didea.vendor.name=Google
另一个studio.exe.vmoptions在C:\Users\你的用户名\AppData\Roaming\Google\AndroidStudio4.2,代码如下:
# custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html -Xmx4096m
这里可以看到有一个studio.exe.vmoptions文件中设置了4096m,而另一个只有768m,把768m改成4096m。
保存,重启。结果:md!我去年买了一只表!!
结果,打开内存设置查看,还是显示1920兆,而不是4096兆。重新设置一遍,成了!呵呵。嗯,目前最大堆大小:2048m,当前值:4096。再次开始打包!
还是报同样错误,继续加大值,把4096换成8192,也就是给了8g的空间给它,然后其他值比如缓存256m该成了1024m,改完后开始打包,结果:打包了2次,取消了2次,原因:打包时间太长(1小时以上)。
解决方案:设置最大内存为你电脑内存的一半左右(比如16g内存,给它8个g),具体可以2个g2个g地加,加到它不会报错为止。
2022-07-28 已经好几天了,设置了8g内存后这个错误没有再出现,但是它仍旧一直在loading,一直在加载,没完没了。
2022-08-03 今天下午,我再次build了一下,没有等待很久,虽然buiild failed,但是我总算找到了为什么前端时间一直在加载的原因:c盘空间不足,设置再大的内存(比如我设置了8个g的内存),也没有作用,反而会令其一直在loading。
我把c盘的微信聊天文件转移到了d盘,足足腾出了7.53个g,这才是快速打包必备的硬件条件之一。
好了,8月3号build failed的报错提示为:Algorithm HmacPBESHA256 not available【算法HmacPBESHA256不可用】
到了这一步,我不想再用as打包了,我打算使用expo这个工具来报包。
使用expo,你甚至都看不到android和ios这两个包,关于打包的所有的事情全交给它,很方便,适合快速我这种布灵布灵的萌新。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧