为什么我的GWT应用有时无法加载?

时间:2016-09-23 11:22:15

标签: java gwt libgdx

我的GWT / libgdx应用程序有问题(GWT版本:2.6.0,Gdx版本:1.9.2),我在互联网上找不到任何最近的解决方案或与我的问题相符的内容。短篇小说有时是“随机”(或莫名其妙地说实话),我的应用程序选择不在第一次尝试(或第二次,第三次......),然后在一次(或两次,三次)刷新后加载,它起作用(......有时根本不起作用)。有时它也会立即加载。

这种行为发生在各种浏览器上(firefox,chrome,chrome for mobile ...令人惊讶的是,IE不是这里最成问题的浏览器),在各种机器(和操作系统)上。所以,在我的Linux / firefox上,我经常没有问题(并非总是如此)。但在我的同事Windows10 / Chrome上,我们必须刷新页面两到三次,并且在他的手机(Android / Chrome)上它永远不会显示。我不完全了解版本。

在Firefox上,我认为我首先有一个提示,因为当页面拒绝加载时,似乎没有加载blablabla.cache.html文件(在检查器的源页面中)(这可以解释为什么,即使这部分随机存在与否完全是不正常的!)。但是,.cache.html就在这里,而不是我的应用......

我确切知道的是,当我的应用程序未显示时,永远不会调用onModuleLoad()。这部分也不是(来自gdx):

public PreloaderCallback getPreloaderCallback() {
    return new PreloaderCallback() {

        @Override
        public void error(String file) {
            alert("error");
        }

        @Override
        public void update(PreloaderState state) {
            if (state.hasEnded()) {
                alert("loaded");
            }
        }
    };
}

所以我知道,有了这些奇怪的小信息,就不可能知道出了什么问题。但有没有人用GWT和/或gdx应用程序获得如此好奇和不信任的行为?

编辑:我注意到我的问题有两种可能的解释。现在它已经解决了,但是我想帮助那些在将来遇到同样麻烦的人。 第一个是在html文件中。你不可能知道,因为我不认为这是我的问题的可能原因。我使用React和GWT来显示我的应用程序,并且React和GWT都在一个独特的div中呈现。

当React首先渲染时,GWT部分会添加到div中,所以一切都运行良好。然而,当首先渲染GWT时,React部分会在div中替换它。大多数时候React更快,我没有看到任何问题。解决方案很简单:我为React添加了另一个div。

第二个问题是在iOS10上。 Gdx使用旧版SoundManager2,它需要一个补丁才能在iOS10上运行,甚至可以停止加载应用程序。我不得不使用更新的SM2来源。

0 个答案:

没有答案