如果从Swing应用程序执行System.exit(1)
,是否会自动释放与图形相关的本机资源?如果我添加myFrame.dispose()
,myFrame
是唯一的
在应用程序中的顶级容器,我可以肯定不会在某些人看到烦人的行为
使用程序的非java GUI,其中部分GUI状态在突然退出时会被冻结到屏幕上?
答案 0 :(得分:4)
进程拥有的所有内容都会在进程退出时释放,除非您在谈论Netware 3& S等病态操作系统。 4。
答案 1 :(得分:2)
顶层容器从不GC,因为错过方法finalize()
在此上下文中JFrame.dispose()
不执行任何操作,此容器仍存在于UsedMemory,un_changed中,直到当前JVM实例退出,
你可以通过删除它来回复UsedMemerory,注意删除ContentPane
中的任何内容,否则(RootPane
已删除)你的容器保持半透明,只有可见ToolBar
和{{1 },
所有Window始终可访问且可重用,您可以在整个应用程序生命周期内通过Borders
对其进行测试
在重新使用Window[] allWindows = Window.getWindows();
重要的一切here
然后
1)不要创建大量的顶级容器,
2)存在的re_use容器
3)只有失去所有参考的isDisplayable()
可能是Object