如何正确处理SWT/JavaFXCanvas

如何正确处理SWT/JavaFXCanvas,java,eclipse,javafx,swt,Java,Eclipse,Javafx,Swt,我有一个SWT/JavaFX FXCanvas,它使用WebView作为根(到其场景)实例嵌入到自定义组合中: class MyComposite extends Composite { FXCanvas canvas = createFXCanvasWithWebView(); dispose() { webView.load(null); canvas = null; super.dispose(); } } 这是否足以清理所有已使用

我有一个SWT/JavaFX FXCanvas,它使用WebView作为根(到其场景)实例嵌入到自定义组合中:

class MyComposite extends Composite {
   FXCanvas canvas = createFXCanvasWithWebView();

   dispose() {
      webView.load(null);
      canvas = null;
      super.dispose();
   }
}
这是否足以清理所有已使用的资源(尤其是已使用的WebView实例中加载的图像)?

WebView.getEngine().load(null)就足够了

canvas=null
是多余的。

加载/关闭(多次)带有图像的html页面时,内存会不断增长(在操作系统的任务管理器中,使用(Windows Process Explorer)。探查器的(jvisualvm)监视器会显示堆的持续使用情况。