【问题标题】:Blank screen after onPause-onResumeonPause-onResume 后黑屏
【发布时间】:2013-02-04 12:28:15
【问题描述】:

我正在使用 OpenGL ES 2.0 开发一款安卓游戏。我的一些用户(约 5%)面临这样的问题:锁定/解锁设备或按下主页按钮并恢复应用后出现灰屏。我的意思是这发生在调用 onResume 和 onPause 之后。

屏幕是灰色的,因为背景是用这种颜色填充的:

GLES20.glClearColor(.5f, .5f, .5f, 1f);

这意味着在某些手机上恢复应用后,什么都不会绘制。

我正在使用虚拟缓冲区对象(将所有缓冲区上传到 GPU)。它们在 onResume 之后重新创建,与所有纹理和着色器相同。

我还在活动的 onPause 和 onResume 中调用了 surfaceView.onPause 和 .onResume。

我不明白为什么我的应用在某些手机上恢复后没有绘制任何东西(在大多数手机上一切正常),我希望有人能给我一些关于为什么会发生这种情况的想法。

【问题讨论】:

  • 我也有同样的问题。但我在 LogCat E/BpSurfaceComposerClient: Failed to transact (-1) 中确实有一行。

标签: android opengl-es


【解决方案1】:

您需要向我们提供一些 logcat 输出,但您的渲染路径的一部分似乎被跳过(可能是因为您的渲染循环代码中存在异常)。如果没有进一步的数据,我们真的很难帮助您解决这个特定问题。

【讨论】:

  • 问题是logcat中没有任何消息。跟随 logcat 一切都很好。
猜你喜欢
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多