出于我正在创建的图形程序的目的,我正在使用Graphics2D g = (Graphics2D) gOrig.create();
创建Graphics2D实例的分支。我想知道的是,如果我在完成这个fork之后应该使用g.dispose();
方法,或者这是由Java的工作原理自动处理的。
答案 0 :(得分:2)
是的,一定要处理这个Graphics对象。处置你创建的所有Graphics或Graphics2D对象,因为这将有助于清理不再需要的资源。
但是不要将JVM提供的任何Graphics对象都作为参数添加到public void paint(Graphics g)
或protected void paintComponent(Graphics g)
这样的绘制方法中。处理这些风险打破了绘画链,因为这些图形对象通常需要通过子组件,边框等向下游。