处理 Graphics2D.create() 创建的 Graphics2D 对象;
Disposing Graphics2D objects created by Graphics2D.create();
为了我现在正在创建的图形程序,我正在使用 Graphics2D g = (Graphics2D) gOrig.create();
创建 Graphics2D 实例的分支。我想知道的是,我是否应该在完成此分叉后使用 g.dispose();
方法,或者该方法是否由 Java 的底层工作自动处理。
是的,一定要处理这个 Graphics 对象。处理您创建的所有 Graphics 或 Graphics2D 对象,因为这将有助于清理不再需要的资源。
但是将 JVM 提供给您的 Graphics 对象中的 none 处理为绘画方法的参数,例如 public void paint(Graphics g)
或 protected void paintComponent(Graphics g)
。处理这些风险会破坏绘制链,因为子组件、边框等下游通常需要这些 Graphics 对象。
为了我现在正在创建的图形程序,我正在使用 Graphics2D g = (Graphics2D) gOrig.create();
创建 Graphics2D 实例的分支。我想知道的是,我是否应该在完成此分叉后使用 g.dispose();
方法,或者该方法是否由 Java 的底层工作自动处理。
是的,一定要处理这个 Graphics 对象。处理您创建的所有 Graphics 或 Graphics2D 对象,因为这将有助于清理不再需要的资源。
但是将 JVM 提供给您的 Graphics 对象中的 none 处理为绘画方法的参数,例如 public void paint(Graphics g)
或 protected void paintComponent(Graphics g)
。处理这些风险会破坏绘制链,因为子组件、边框等下游通常需要这些 Graphics 对象。