在我的测试程序的 Android 版本中,第一次运行它时一切都很好,但在随后运行它时,所有纹理都是白色块。
但是桌面版很好,它只是Android。此外,如果我在发布或调试时通过 Eclipse 运行程序,它也每次都可以工作。
如果我去任务管理器并“清除内存”,解决方法是什么。
我在启动时加载我的精灵表,我很确定我正在处理所有东西。
有什么问题?
解决它。我想我知道为什么但不是 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 还有其他类似的问题吗?