我的 java 游戏应用程序中有内存泄漏,这是我所期待的。泄漏来自在此按钮操作侦听器上多次创建的新实例,因为每次按下按钮时,它都会创建一个新实例RegularMode
:
btnRegular.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.remove(pane);
gm = Gamemode.REGULAR;
mode = new RegularMode(frame, WIDTH, HEIGHT);
}
});
有趣的是,我一直在尝试使用以下代码修复内存泄漏:
public static void initDisplay() {
gm = Gamemode.NONE;
mode.setRunning(false);
frame.remove(mode.getPane());
frame.add(pane);
frame.validate();
frame.repaint();
mode = null; // THIS LINE
frame.pack();
}
——但它不起作用。有没有其他方法可以解决这种类型的内存泄漏?