【问题标题】:Android displays black rectangles instead of drawable images after opening openGL contextAndroid在打开openGL上下文后显示黑色矩形而不是可绘制图像
【发布时间】:2013-02-20 15:43:51
【问题描述】:

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

从活动 A 我去活动 B。从 B 到 C,从 C 到 D。

我面临的问题:一些drawables和一个progressBar 显示黑色矩形后按返回按钮从活动D(活动开始OpenGL 上下文)。
有什么我应该研究的想法吗?

【问题讨论】:

  • 进入你的代码? ......我们应该研究一个能够回答这个问题的魔法球......

标签: android opengl-es drawable


【解决方案1】:

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

在 openGL 视图中,这可能会在 Activity 进入后台时发生,通常是因为丢失了上下文。一个很好的起点是查看 GLSurfaceView 文档,特别是方法 setPreserveEGLContextOnPause(...)

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 解决了问题!谢谢!
    • 解决了它在特定活动上引起的问题,我已将 android:hardwareAccelerated="false" 添加到清单中的活动标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 2012-09-26
    • 1970-01-01
    相关资源
    最近更新 更多