我一直在制作一个应用程序,并且一直在跟踪它的内存使用情况。该应用程序的内存约为 58,676 K,如下所示。
这是我的 GUI。
那个关闭按钮有一个功能可以使该面板不可见。
private final ActionListener closeButtonAL = new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
timeUtilities.getPanel().setVisible(false);
}
};
我还有一个按钮可以使面板再次可见。
private final ActionListener showPanelAL = new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
timeUtilities.getPanel().setVisible(true);
}
};
在应用程序开始显示之前,面板已初始化。
我的问题是,仅仅通过一次又一次地显示 GUI 并关闭它,就会增加应用程序的内存使用量。
这不是某种内存泄漏吗?不管答案如何,我该如何防止这种情况发生?
最佳答案
您应该使用分析器来定位内存泄漏。
在 NetBeans 中,顶部“运行项目”和“调试项目”按钮旁边是一个“配置文件项目”按钮 (Alt-F2)。
首次运行,它可能会要求您进行校准或其他操作。
之后,您可以选择分析CPU或内存。如果您单击“内存”,选中“简单”,然后单击“运行”,您可以运行您的项目并查看哪些内容使用了内存。
关于Java 内存泄漏迹象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23484359/