0

在我的测试程序的 Android 版本中,第一次运行它时一切都很好,但在随后运行它时,所有纹理都是白色块。

但是桌面版很好,它只是Android。此外,如果我在发布或调试时通过 Eclipse 运行程序,它也每次都可以工作。

如果我去任务管理器并“清除内存”,解决方法是什么。

我在启动时加载我的精灵表,我很确定我正在处理所有东西。

有什么问题?

4

1 回答 1

0

解决它。我想我知道为什么但不是 100%

在我的课上:公共类 GameGraphics 实现 Disposable{

我把它做成了一个单例:

public static GameGraphics getInstance(){
    if(spritesInstance==null) {
        spritesInstance=new GameGraphics();

        spritesInstance.spriteSheet = new   Texture(Gdx.files.internal("data/sprite_sheet.png"));
         spritesInstance.sprites=TextureRegion.split(spritesInstance.spriteSheet, 32, 32);
        for(TextureRegion r : spritesInstance.sprites[0]) r.flip(false,true);
    }
    return spritesInstance;
}

因此调用了 dispose,纹理在 libGDX 中被破坏,但我的实例仍然存在。为什么?libgdx/opengl 还有其他类似的问题吗?

于 2013-11-04T13:51:54.960 回答