setDefaultCloseOperation () 与 dispose()的区别
最近踩的坑:
看看代码:
结果 造成了进程一直占用内存,这个dialog 结束了还是占着内存
解决方法:
原因:
首先 dispose()只是释放窗口在屏幕上的资源,但是这个dialog 里面的数据,方法还是在的,这个是一堆数据,所以一直占着进程。直到这个应用全部结束,这部分资源被回收机制回收了。
再说说 setDefaultCloseOperation 是设置窗体关闭的方法,就是点窗口那个x 之后需要干什么。
最后 我开始的程序里面没有加
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
这句的影响,就是dialog 默认成 this.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE );
只是隐藏窗体。
换句话说:
dispose 是关闭窗体的图像,但是没有释放这个dialog 的资源。
加了最后一句,就是告诉窗体关闭之后,还要释放这些资源,相当于后面加了System.exti(0)
CSDN-Ada助手: 算法 技能树或许可以帮到你:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm
yhharis: 你好,最近在用Java写一个绘图软件,用到标尺的方面的,能提供一下剩下的代码的?谢谢.
_半夏曲: 大佬能否贴个源代码地址 学习学习
沉淀ing: 你好,文中的printOptions实体可否给参考下,目前在做这个不知道相关tag的取值应该怎么取
dinfy: 请问vmware.log都是ok接下来怎么办啊