java JDialog setVisible(false)vs dispose()
在对话框中使用setVisible(false)并在以后重新使用它有意义吗?还是每次调用dispose()并创建新的JDialog更安全。 setVisible(false)的内存泄漏情况如何
编辑: 我的问题不是关于退出应用程序。更多关于以主框架为父框架并在应用程序生命周期内打开和关闭的对话框的信息。例如,假设我的应用程序有大约10个对话框,每次打开它们时都会显示不同的数据。我应该重用这些实例并使用setVisible()还是应该每次创建一个新对话框并在关闭时处理它们()
# 1 楼答案
我建议使用^{} 来释放资源和释放内存。如果想再次显示对话框,只需调用
setVisible(true)
需要注意的是,当Java虚拟机(VM)中的最后一个可显示窗口被释放时,VM可能会终止。有关更多信息,请参见AWT Threading Issues
# 2 楼答案
调用} 来保存引用。这将确保您正在使用的对话框不会在垃圾收集中存活,只要它们占用的空间不需要
dispose()
可以释放与对话框关联的资源。在dispose()
打开对话框后,可以将其保留。如果您担心有太多的对话框,请使用^{