在富UI应用程序中使用WebView时出现JavaFX StackOverflower错误
我在使用WebView时遇到了问题,当我加载它时,它看起来全彩闪烁,然后直接进入StackOverflower错误 对我来说似乎是一个递归。我不认为通过-Xss(已经尝试过)增加堆栈大小会有帮助。 我的选择是什么? 这可能是由大场景图引起的吗?当主视图打开时,我有相当密集的图形用户界面553个节点,当浏览器页面加载时,有266个节点。在分开的FXML文件和分开的控制器中。 GMAP错误(使用webView): 在我之前的问题中可以找到发生了什么的图像:当时我没有收到这个错误,只是一些小故障。现在它把我引向了这个问题 在一些更改后(转到google.com->sector.sk->facebook.com等stackoverflow页面被抛出。我最多可以更改1/2个网站,其抛出的应用程序随后停止响应),仅图形故障不会引发异常 -Xss现在是默认的。在富UI应用程序中使用WebView时出现JavaFX StackOverflower错误,java,webview,javafx,stack-overflow,Java,Webview,Javafx,Stack Overflow,我在使用WebView时遇到了问题,当我加载它时,它看起来全彩闪烁,然后直接进入StackOverflower错误 对我来说似乎是一个递归。我不认为通过-Xss(已经尝试过)增加堆栈大小会有帮助。 我的选择是什么? 这可能是由大场景图引起的吗?当主视图打开时,我有相当密集的图形用户界面553个节点,当浏览器页面加载时,有266个节点。在分开的FXML文件和分开的控制器中。 GMAP错误(使用webView): 在我之前的问题中可以找到发生了什么的图像:当时我没有收到这个错误,只是一些小故障。现在
据我所知,我正在使用最新的
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)