libgdx:加载纹理后延迟

dffbzjpn  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(482)

我的代码的一部分如下所示:

public void goToMainMenu() {
        Assets.LoadMenuTexutres();
        Assets.unloadGameTexutres();
        game.setScreen(new MainMenuScreen(game));   
}

它可以工作,但当我调用该方法时,我得到大约0.5秒的延迟(因为在opengl中加载纹理很重),然后我到达主菜单屏幕,但所有的动画都会在大约0.3秒的时间内不稳定。为什么在加载资源/纹理后会出现这种波动性延迟?如何防止这种情况?
干杯!

q35jwt9p

q35jwt9p1#

我猜你的延误是因为:
所有纹理的加载
所有纹理的卸载,然后让垃圾收集器在现在空闲的位图对象上运行
为了避免这种延迟破坏用户体验,我建议您将加载和卸载移到asynctask中,并显示一个progressdialog,说“正在加载…”或其他什么。

x6yk4ghg

x6yk4ghg2#

您可以使用内置assetmanager

相关问题