android 平臺 涉及到cocos的jni 調(diào)用
表象:加載頁面,游戲頁面崩潰
log 檢查 :發(fā)現(xiàn)游戲頁面,初始化緩慢
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去完成 本應(yīng)該是在cocos2dx中OpenGL Thread中
完成的工作(即所調(diào)用的函數(shù)在Cocos2dx中做的工作)必須使用OpenGL的Thread去完成
public native static void nativeMethod();
public static void runNativeCallback(Runnable runnable)
{
Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
@Override
public void run() {
nativeMethod();
}
});
}