Cocos android平台适配 出现的一个BUG

android 平台 涉及到cocos的jni 调用

表象:加载页面,游戏页面崩溃

log 检查 :发现游戏页面,初始化缓慢

logcat errlog :

cocos2dx- call to OpenGL ES API with no current context(logged once per thread)

原因:

因为Android在启动cocos2d-x的Thread时,没有用context的主的Thread,而是使用的OpenGL的Thread

, 所以我们不能在主Thread去完成 本应该是在cocos2dx中OpenGL Thread中

完成的工作(即所调用的函数在Cocos2dx中做的工作)必须使用OpenGL的Thread去完成

public native static void nativeMethod();

public static void runNativeCallback(Runnable runnable)

{

Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {

@Override

public void run() {

nativeMethod();

}

});

}

你可能感兴趣的:(Cocos android平台适配 出现的一个BUG)