在Android上使用libGDX切换屏幕很慢,但在PC上是即时的?

时间:2013-07-29 18:19:31

标签: android button screen libgdx

按下按钮后,我正在尝试更改屏幕,这在我的电脑上工作得很好,没有延迟,一旦按下按钮,场景会立即改变并呈现新的,但是,我试图在我的Android设备上运行我的应用程序(LG G2X& Galxy S 3)我遇到了以下问题;

按下按钮后,稍有延迟约1-2秒,然后才会更改为我的被叫屏幕。

我正在处理dispose方法中的所有资源,我也从我的hide函数中调用dispose方法,因为我不想在后台保留额外的屏幕并浪费内存。

这是我的按钮:

private TextButton bPlay;

@Override
public void show() {
....

bPlay = new TextButton("PLAY", skin);
        bPlay.addListener(new ClickListener() {
            @Override
            public void clicked(InputEvent event, float x, float y) {
                ((Game) Gdx.app.getApplicationListener())
                        .setScreen(new DifficultySelectorScreen());

            }
        });
        bPlay.pad(15);

....
}

我把它添加到我的桌子上,然后再添加到舞台上,一旦点击它,它就会让我选择游戏的难度。

现在不仅这个按钮有延迟,而且我尝试使用的每个按钮。

1 个答案:

答案 0 :(得分:1)

最终我发现问题是什么......每次屏幕更改时,它都会重新加载相同的skinatlas,所以我创建了一个AssetManager来处理这个问题,我做了它加载主菜单所需的资产,同时显示启动画面,以及游戏本身,同时处理菜单资源并将游戏资源加载到类似于启动画面的转换页面中。