我在使用WebView时遇到了问题,当我加载它时,它看起来都是彩色的,闪烁着,然后直接进入stackOverFlowError。
似乎是对我的递归,我认为通过-Xss (已经尝试过)增加堆栈大小不会有帮助。我有什么选择?
这可能是由大场景图引起的吗?当主视图打开时,我有相当大的图形密集型UI 553节点,当浏览器页loaded.In分离FXML文件和分离控制器时,有266个节点
GMaps错误(使用webView):
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在另一个WebView上出错(Vanilla没有使用libs ):
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)关于正在发生的事情的图像可以在我之前的问题中找到:当我还没有收到这个错误的时候,https://stackoverflow.com/questions/25247703/javafx-webview-rendering-graphical-glitches,alone.Now,它带我到了这个问题。
图形故障本身不会在一些更改后抛出异常芽(goto page、google.com、->、sector.sk、->、facebook.com等),堆栈溢出会被抛出,我可以更改多达1/2的网站,其抛出的应用程序随后停止响应。
-Xss现在是默认的。据我所知,我正在使用最新的javafx and java 8 u20。
发布于 2014-10-03 21:33:55
可以使用SystemProperty glass.lens.stackSize设置JavaFX ApplicationThread的堆栈大小。它是作为https://javafx-jira.kenai.com/browse/RT-36811的一部分实现的。
不过,一旦我们切换到monocle,这可能会更改为glass.monocle.stackSize。
您可能可以在生成的android项目中(在Jvm参数下的AndroidManifest.xml中设置该属性(Adx-DGlass.lens.stackSize=128000),也可以在资产/javafx.platform.properties(添加行android.glass.lens.stackSize=128000)中设置该属性。
还没有尝试过,但是这应该会将stackSize增加到128‘t,即使对于非常复杂的应用程序,这也应该足够了。
请告诉我们,如果对你有用的话。
====这个来自Stefan Fuchs
https://stackoverflow.com/questions/25839263
复制相似问题