首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaFX StackOverflowError在富UI应用程序中使用WebView

JavaFX StackOverflowError在富UI应用程序中使用WebView
EN

Stack Overflow用户
提问于 2014-09-15 00:14:48
回答 1查看 466关注 0票数 0

我在使用WebView时遇到了问题,当我加载它时,它看起来都是彩色的,闪烁着,然后直接进入stackOverFlowError。

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

这可能是由大场景图引起的吗?当主视图打开时,我有相当大的图形密集型UI 553节点,当浏览器页loaded.In分离FXML文件和分离控制器时,有266个节点

GMaps错误(使用webView):

代码语言:javascript
运行
复制
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 ):

代码语言:javascript
运行
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25839263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档