Android 在按下后退按钮并继续后,我的游戏会出现黑屏

Android 在按下后退按钮并继续后,我的游戏会出现黑屏,android,libgdx,dispose,Android,Libgdx,Dispose,我正在使用LibGDX创建一个游戏。我已经实现了AssetManager来加载所有的资产,并且我还创建了一个GameSking类,它向皮肤添加了许多按钮样式和类似的东西,这样我就不必手动执行。这是: public class GameSkin extends Skin { private static final AssetManager ASSET_MANAGER = Assets.getAssetManager(); private TextureAtlas atlas; private

我正在使用LibGDX创建一个游戏。我已经实现了AssetManager来加载所有的资产,并且我还创建了一个GameSking类,它向皮肤添加了许多按钮样式和类似的东西,这样我就不必手动执行。这是:

public class GameSkin extends Skin {

private static final AssetManager ASSET_MANAGER = Assets.getAssetManager();
private TextureAtlas atlas;

private FreeTypeFontGenerator generator;
private FreeTypeFontGenerator.FreeTypeFontParameter parameter;
private BitmapFont defaultFont;

private TextButton.TextButtonStyle redButtonStyle, orangeButtonStyle, greenButtonStyle, blueButtonStyle, defaultButtonStyle;

private Label.LabelStyle labelStyle;

private Window.WindowStyle windowStyle, firstTimeWindowStyle;

public GameSkin() {
    Assets.load();
    ASSET_MANAGER.finishLoading();

    atlas = ASSET_MANAGER.get("uiskin.atlas");
    addRegions(atlas);

    generator = new FreeTypeFontGenerator(Gdx.files.internal("font/komika.ttf"));
    parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
    parameter.size = 100;
    defaultFont = generator.generateFont(parameter);
    generator.dispose();

    defaultButtonStyle = new TextButton.TextButtonStyle();
    redButtonStyle = new TextButton.TextButtonStyle();
    orangeButtonStyle = new TextButton.TextButtonStyle();
    greenButtonStyle = new TextButton.TextButtonStyle();
    blueButtonStyle = new TextButton.TextButtonStyle();

    redButtonStyle.font = defaultFont;
    redButtonStyle.up = getDrawable("rbup");
    redButtonStyle.down = getDrawable("rbdown");

    orangeButtonStyle.font = defaultFont;
    orangeButtonStyle.up = getDrawable("obup");
    orangeButtonStyle.down = getDrawable("obdown");

    greenButtonStyle.font = defaultFont;
    greenButtonStyle.up = getDrawable("gbup");
    greenButtonStyle.down = getDrawable("gbdown");

    blueButtonStyle.font = defaultFont;
    blueButtonStyle.up = getDrawable("bbup");
    blueButtonStyle.down = getDrawable("bbdown");

    defaultButtonStyle.font = defaultFont;
    defaultButtonStyle.up = getDrawable("obup");
    defaultButtonStyle.down = getDrawable("obdown");

    labelStyle = new Label.LabelStyle(defaultFont, Color.WHITE);

    windowStyle = new Window.WindowStyle(defaultFont, Color.WHITE, getDrawable("GT"));

    firstTimeWindowStyle = new Window.WindowStyle(defaultFont, Color.WHITE, getDrawable("guide"));

    add("default-font", defaultFont);
    add("red-button", redButtonStyle);
    add("orange-button", orangeButtonStyle);
    add("green-button", greenButtonStyle);
    add("blue-button", blueButtonStyle);
    add("default", defaultButtonStyle);
    add("default", labelStyle);
    add("default", windowStyle);
    add("first-time", firstTimeWindowStyle);
}

@Override
public void dispose() {
    super.dispose();
}
}

以下是欢迎屏幕的外观:

这是我按下后退按钮退出,然后点击应用程序继续后发生的情况:


除了我在按钮上使用的位图字体之外,似乎所有的东西都被处理掉了,但我不明白这有什么问题。有人可以帮忙吗?

您的代码几乎完成了,这需要在您的AndroidLauncher重新加载简历中的资产:

@Override
protected void onResume() {
    Assets.unload();
    Assets.load();
    ASSET_MANAGER.finishLoading();
    super.onResume();
} 

不要对资源或纹理使用静态引用。我用了它,它成功了。谢谢每次用户任务切换回应用程序而不关闭活动时,这将导致不必要的重新加载。确实,请注意,这一切都是在调用resume方法之前发生的。我停止使用静态变量,现在它可以工作了。