【问题标题】:createContext failed: EGL_SUCCESScreateContext 失败:EGL_SUCCESS
【发布时间】:2016-09-18 20:01:29
【问题描述】:

日志说

 java.lang.RuntimeException: createContext failed: EGL_SUCCESS
        at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1193)
        at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1184)
        at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1034)
        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

当我尝试在 Android Studio 上使用 Rajawali 库时。 我发现问题一定是特定于设备功能的,因为我的应用程序可以在其他设备(三星 Galaxy Tab 4、Nexus)上运行,但不能在 Sony Xperia LT30p 上运行。我环顾四周,只发现this 线程在谈论同样的问题。 我认为这可能是 RAM 或溢出的问题,所以我禁用了所有后台进程并卸载了大多数应用程序。尽管如此,错误仍然存​​在。 有谁知道为什么会发生这种情况以及是否存在解决方法?

【问题讨论】:

  • 您发现问题所在了吗?

标签: android android-studio opengl-es egl rajawali


【解决方案1】:

可能是因为配置调用顺序错误..

    setEGLConfigChooser(8, 8, 8, 8, 16, 0);
    setEGLContextClientVersion(2);
    getHolder().setFormat(PixelFormat.TRANSLUCENT);

正确的顺序是:

    setEGLContextClientVersion(2);
    setEGLConfigChooser(8, 8, 8, 8, 16, 0);
    getHolder().setFormat(PixelFormat.TRANSLUCENT);

但是即使使用错误的顺序,代码在大多数手机中仍然是正确的。(我只是在 4.2.1 手机上遇到了这个错误)

【讨论】:

  • 据我所知,GLSurfaceView 文档没有为这两种方法指定正确的调用顺序 - 你有链接来支持这个答案吗?
  • @Karu 不,我只是自己尝试了一下,在特定的手机上发现了问题。所以我不知道为什么。
猜你喜欢
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多