1

我们有一个应用程序,它使用 WebView 来显示带有 OpenLayers 的地图。数据来自后台的 GeoServer。到目前为止,我们的应用程序由我们的客户以 FullHD (1920x1080) 运行,到目前为止没有造成任何问题。现在我们的客户已经更换了他们现在具有 WQXGA (2560x1600) 分辨率的显示器。我们的应用程序在 FullHD 下完美运行,没有任何问题,但是一旦我们在 WQXGA 显示器上使应用程序全屏显示,WebView 就会变成灰色,GUI 冻结并且 GUI 不再响应。

在此处输入图像描述

系统监视器显示后台进行了一些繁重的计算。我使用 VisualVM 来了解更多信息。我分析了方法调用 ant 事实证明,WebView 大部分时间都在并行执行某些操作。我还查看了此方法的描述,并指出它用于在显示蜜蜂之前更新所有子节点。我不知道 WebView 在内部是如何工作的,但我们也有大约 1k-2k 的特征多边形,它们通过 Openelayer 显示(最终是 JavaScript 对象)。

在此处输入图像描述

内存消耗也始终保持稳定。我还注意到 WebView 的宽度比 FullHD 略大。到目前为止,我没有证实这一点,它只是一个视觉估计。对我来说,WebView 的行为看起来像是一个无限循环,因为即使在 45 分钟后,系统利用率仍然相同,我决定终止 GUI。

在此处输入图像描述

以下是更多规格:

Java版本:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

JavaFX 版本

javafx.runtime.version=8.0.5

我们使用 Ubuntu 14.04.3 LTS

有什么办法可以找出导致此错误的原因吗?是否有可能以某种方式配置 WebView 以防止这种情况发生?

4

0 回答 0