打开openGL上下文后,Android会显示黑色矩形而不是可绘制图像

时间:2013-02-20 15:43:51

标签: android opengl-es drawable

我正在开发一个简单的Android应用,其中包含一些活动,例如: A B C ,和 D。 * 活动A *是一个启动画面。在相同数据完成加载时调用finish()。 活动B 会显示一些信息和一些按钮 活动C 启动webview,其内容与B中按下的按钮相对应 活动D 打开一个openGL上下文。

从活动A开始,我转到活动B.,从B到C,从C到D。

我面临的问题:一些drawables和一个progressBar 显示黑色矩形按下从活动D回来的后退按钮(活动开始一个openGL语境) 我应该研究哪些想法?

2 个答案:

答案 0 :(得分:2)

当图像的位图资源不再可用(例如设置为null或已回收)时,通常会出现黑框。

在openGL视图中,当活动进入后台时,通常会因为丢失上下文而发生这种情况。一个好的起点是查看GLSurfaceView文档,特别是方法setPreserveEGLContextOnPause(...)

答案 1 :(得分:1)

android:hardwareAccelerated="false"添加到<application>清单是一种解决方法,但无法解决问题。 Phil提到的OpenGL状态和上下文保存可能会在这里发挥作用。