问题是当我的游戏被隐藏时,它会在恢复时出现延迟。每次游戏恢复时都需要更长时间。这种情况发生在任何屏幕集上,包括正在加载资产的初始屏幕。当游戏恢复到游戏屏幕或闪屏或菜单屏幕时,延迟没有区别。这意味着加载大量资产没有问题。我测试了另一款名为“Cut the Rope 2”的游戏并且没有这样的延迟,游戏立即恢复。
我想补充一点,当我第一次启动应用程序时,没有这样的延迟它会直接跳到启动画面。此外,当我按下后退按钮时,它会重新启动整个应用程序,也没有延迟。这意味着应用程序恢复时只有一个延迟,并且在第一次启动应用程序或重新启动应用程序时根本没有延迟。
更新:
我的问题与下面链接中发布的问题完全一样。那里的问题没有解决。 http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=11433&p=51515&hilit=resume+slow#p51515
所以问题是当我的游戏恢复时会调用它:
assetManager.finishLoading();
我没有将该代码放在resume()中。从上面的链接,我读到它被自动调用。当您在平板电脑上按“后退按钮”然后恢复游戏时,启动应用程序需要时间。如果你按下“锁定按钮”然后你恢复游戏它会立即启动游戏,但它会冻结。因此按下按钮有两种不同的行为。我宁愿立即启动游戏,也不要冻结,而是玩我的加载屏幕。有没有办法做到这一点?
答案 0 :(得分:0)
此问题的解决方案是调用
Texture.setAssetManager(manager);
这样,游戏恢复时不会自动调用AssetManager.finishLoading()。因此,它不会重新加载任何资产。必须手动调用AssetManager.update。