我正在创建一个游戏(蛇克隆)作为一种爱好。我正在查看 Java API 中 Graphics 类的 dispose 方法。当我注释掉 dispose 方法时,无论有没有它,我的动画都可以正常工作。在 Java API 中, dispose 方法执行此操作 - 释放图形上下文正在使用的系统资源。Java 垃圾回收不是像 dispose 那样管理程序的内存吗?我应该保留 dispose 方法吗?
API 在解释同步方法方面没有多大帮助。但是从我在其他论坛上看到的内容来看,ToolKit 类中的同步方法是为了确保绘图操作(如我想的 paintComponent 方法)刷新到显卡。那么图形卡的工作是清理程序先前图形上下文的任何残留物吗?
这是代码:
public void paintComponent(Graphics g) {
super.paintComponent(g);
Toolkit.getDefaultToolkit().sync();
g.dispose();
}