我的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来源。