我正在使用 OpenGL ES 2.0 开发一个安卓游戏。我的一些用户(约 5%)面临这样的问题:锁定/解锁设备后或按下主页按钮并恢复应用程序后出现灰屏。我的意思是这发生在调用 onResume 和 onPause 之后。
屏幕是灰色的,因为背景填充了这种颜色:
GLES20.glClearColor(.5f, .5f, .5f, 1f);
这意味着在某些手机上没有任何东西在恢复应用程序之后。
我正在使用虚拟缓冲区对象(将所有缓冲区上传到 GPU)。它们在 onResume 之后重新创建,与所有纹理和着色器相同。
我还在活动的 onPause 和 onResume 中调用了 surfaceView.onPause 和 .onResume。
我不明白为什么我的应用程序在某些手机上恢复后没有绘制任何东西(在大多数手机上一切正常),我希望有人能给我一些关于为什么会发生这种情况的想法。