在对话框上使用 setVisible(false) 并稍后重用它是否有意义,或者每次调用 dispose() 并创建一个新的 JDialog 更安全。
setVisible(false) 的内存泄漏怎么办?
编辑:
我的问题并不是关于退出应用程序。有关以主框架作为父级并在应用程序生命周期内打开和关闭的对话框的更多信息。例如。假设我的应用程序有大约 10 个对话框,每次打开它们时都会显示不同的数据。我应该重用这些实例并使用 setVisible() 还是每次都创建一个新的对话框并在关闭时 dispose() 它们。
我建议使用dispose() http://download.oracle.com/javase/6/docs/api/java/awt/Window.html#dispose%28%29释放资源并释放内存。如果您想再次显示该对话框,只需调用setVisible(true)
.
需要注意的是,当 Java 虚拟机 (VM) 内的最后一个可显示窗口被处理后,VM 可能会终止。看AWT 线程问题 http://download.oracle.com/javase/6/docs/api/java/awt/doc-files/AWTThreadIssues.html#Autoshutdown了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)