我在 LibGDX 下遇到了 OpenGL ES 上下文丢失的问题,所以我试图弄清楚如何解决这个问题。我的第一步是在我扩展 Screen 的类中调用 resume 函数时实际重新初始化所有纹理。像这样:
@Override
public void resume() {
Tile.initTiles();
}
resume 函数重新创建了我所有的图块(包括它们的纹理),所以我认为这会起作用。但是,根据文档: ApplicationListener Docs
永远不要在桌面上调用 resume 函数。现在,在我的 Android 手机上从未调用过 resume,但在我的桌面上,我告诉程序在 resume 方法中将“true”打印到控制台,瞧,实际上在桌面上调用了 resume 函数。
我的主要问题是:
- 为什么在我的桌面上会调用恢复功能,而在我的 Android 手机上却没有?
- 如何在我的 Android 手机的简历上重新加载我的纹理?目前我的纹理在按下返回键后恢复游戏时是白色的。有趣的是,当通过主页按钮退出时,纹理会重新加载。