在 Cocos2d-x 3.0 Android 游戏中显示 + 关闭来自 Mopub 的广告后,logcat 显示以下错误:
E/libEGL (13772): call to OpenGL ES API with no current context (logged once per thread)
W/Adreno-ES20(13772): <core_glBufferSubData:1238>: GL_INVALID_VALUE
D/cocos2d-x debug info(13772): OpenGL error 0x0501 in snip/../cocos2d/cocos/2d/CCTextureAtlas.cpp drawNumberOfQuads 123
D/cocos2d-x debug info(13772):
W/Adreno-ES20(13772): <core_glBufferSubData:1238>: GL_INVALID_VALUE
D/cocos2d-x debug info(13772): OpenGL error 0x0501 in snip/../cocos2d/cocos/2d/CCTextureAtlas.cpp drawNumberOfQuads 123
D/cocos2d-x debug info(13772):
W/Adreno-ES20(13772): <core_glBufferSubData:1238>: GL_INVALID_VALUE
D/cocos2d-x debug info(13772): OpenGL error 0x0501 in snip/../cocos2d/cocos/2d/CCTextureAtlas.cpp drawNumberOfQuads 123
如何在他们自己的视图中显示广告,以免丢失上下文?
更多信息:
- 这些错误会发生一些绘图错误。大多只是缺少标签。
- 该应用程序不会崩溃
- 添加
this.setPreserveEGLContextOnPause(true)
到 Cocos2dxGLSurfaceViewinitView
似乎没有帮助 - 我尝试在显示广告之前暂停+停止动画,然后在广告关闭后开始动画并恢复。这似乎没有帮助。
- 我
moPubInterstitial.show()
从 UI 线程调用 - 我
moPubInterstitial.load()
从 UI 线程调用 - 我
OpenGL error 0x0502
在某个时候收到(可能在尝试上述修复之前)