java.lang.StackOverflow在Android上按下FX组合框时出错



在Android上使用JavaFXPorts(华硕Transformer Prime TF201平板电脑上的Android 4.1.1)时,在按下组合框时会引发java.lang.StackOverflowError(请参阅堆栈竞赛顶部堆栈下方)。

它发生在我的FX应用程序中的ComboBox中,并且在Ensemble中的ComboBox示例中也是100%可复制的。换句话说:不能使用JavaFX组合框。

我知道很多论坛上发布的Android堆栈大小限制,当使用Android UI和Android API时,有各种建议。然而,在使用JavaFXUI和JavaFXPorts时,找不到相关的想法。

任何关于修复\调整\解决方法的想法都将不胜感激。

E/AndroidRuntime(32212): FATAL EXCEPTION: JavaFX Application Thread
E/AndroidRuntime(32212): java.lang.StackOverflowError
E/AndroidRuntime(32212):        at javafx.scene.Node.getTransformedBounds(Node.java:3422)
E/AndroidRuntime(32212):        at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1724)
E/AndroidRuntime(32212):        at javafx.scene.Parent.recomputeBounds(Parent.java:1516)
E/AndroidRuntime(32212):        at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1380)
E/AndroidRuntime(32212):        at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
E/AndroidRuntime(32212):        at javafx.scene.Node.updateGeomBounds(Node.java:3577)
E/AndroidRuntime(32212):        at javafx.scene.Node.getGeomBounds(Node.java:3530)

您可以创建java.custom.properties文件,并在其中包含以下属性:

monocle.stackSize=128000

您也可以通过使用其他系统特性的新值来覆盖这些特性。

将文件放在类路径的根目录下,例如放在项目的文件夹src/android/resources中。

您可以在此处找到此常见问题解答,并在此处找到JavaFXPorts的所有文档。

检查这是否解决了您的异常。

最新更新