在富UI应用程序中使用WebView时出现JavaFX StackOverflower错误

在富UI应用程序中使用WebView时出现JavaFX StackOverflower错误,java,webview,javafx,stack-overflow,Java,Webview,Javafx,Stack Overflow,我在使用WebView时遇到了问题,当我加载它时,它看起来全彩闪烁,然后直接进入StackOverflower错误 对我来说似乎是一个递归。我不认为通过-Xss(已经尝试过)增加堆栈大小会有帮助。 我的选择是什么? 这可能是由大场景图引起的吗?当主视图打开时,我有相当密集的图形用户界面553个节点,当浏览器页面加载时,有266个节点。在分开的FXML文件和分开的控制器中。 GMAP错误(使用webView): 在我之前的问题中可以找到发生了什么的图像:当时我没有收到这个错误,只是一些小故障。现在

我在使用WebView时遇到了问题,当我加载它时,它看起来全彩闪烁,然后直接进入StackOverflower错误

对我来说似乎是一个递归。我不认为通过-Xss(已经尝试过)增加堆栈大小会有帮助。 我的选择是什么?

这可能是由大场景图引起的吗?当主视图打开时,我有相当密集的图形用户界面553个节点,当浏览器页面加载时,有266个节点。在分开的FXML文件和分开的控制器中。

GMAP错误(使用webView):

在我之前的问题中可以找到发生了什么的图像:当时我没有收到这个错误,只是一些小故障。现在它把我引向了这个问题

在一些更改后(转到google.com->sector.sk->facebook.com等stackoverflow页面被抛出。我最多可以更改1/2个网站,其抛出的应用程序随后停止响应),仅图形故障不会引发异常

-Xss现在是默认的。
据我所知,我正在使用最新的
javafx和java 8 u20

您可以使用SystemProperty glass.lens.stackSize设置堆栈 JavaFX应用程序读取的大小。 它是作为《公约》的一部分实施的

一旦切换到monocle,可能会更改为glass.monocle.stackSize 不过

您可能也可以在生成的android项目中设置属性 -在Jvm参数下的AndroidManifest.xml中(添加 |-Dglass.lens.stackSize=128000) 或 -在assets/javafx.platform.properties中(添加行 android.glass.lens.stackSize=128000)

尚未尝试,但这会将堆栈大小增加到128KB, 即使对于非常复杂的应用程序,这也应该足够了

请告诉我们,如果它对你有用的话

====
这来自Stefan Fuchs

在VM选项中使用参数-Dglass.lens.stackSize=128000后,错误消失了,bud我仍在努力解决Web视图中grpahics的故障。这一定是其他原因造成的,bud我无法跟踪它,因为没有抛出任何错误。
java.lang.StackOverflowError
    at com.sun.prism.impl.BaseGraphics.<init>(BaseGraphics.java:89)
    at com.sun.prism.impl.ps.BaseShaderGraphics.<init>(BaseShaderGraphics.java:86)
    at com.sun.prism.d3d.D3DGraphics.<init>(D3DGraphics.java:42)
    at com.sun.prism.d3d.D3DGraphics.create(D3DGraphics.java:65)
    at com.sun.prism.d3d.D3DRTTexture.createGraphics(D3DRTTexture.java:77)
    at com.sun.javafx.webkit.prism.RTImage.getGraphics(RTImage.java:68)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:58)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)

...and so on
java.lang.StackOverflowError
    at com.sun.javafx.geom.transform.AffineBase.transform(AffineBase.java:1021)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.transformClip(WCGraphicsPrismContext.java:262)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:301)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:314)
    at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.setClip(WCGraphicsPrismContext.java:349)
    at com.sun.javafx.webkit.prism.WCBufferedContext.init(WCBufferedContext.java:64)
    at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:47)