如何在Android中暂停活动后保留OpenGL纹理?

时间:2013-08-04 13:11:35

标签: android opengl-es textures

此时我每次恢复应用程序时都会重新加载纹理,但这需要太长时间。每次游戏恢复时,玩家必须等待大约5秒才能重新加载纹理。有没有办法保持纹理保存,以便每次游戏恢复时我都不需要重新加载它们?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用视图的可见性来管理它:

@Override
public void onPause() {
    view.setVisibility(View.GONE);
    super.onPause();
    ...
}

然后

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus && view.getVisibility() == View.GONE) {
         view.setVisibility(View.VISIBLE);
    }
    ...
}

我还发现了一些对你有用的讨论:

https://gamedev.stackexchange.com/questions/12629/workaround-to-losing-the-opengl-context-when-android-pauses

Threading textures load process for android opengl game

希望它会有用......祝你好运