近日在用cocos2dx3.4的时候使用了JNI调用,发现一个现象
当不使用jni的时候完全正常,使用了jni后回去的所有文字都变成黑块,并且有概率程序崩溃,附带出了两个log
call to OpenGL ES API with no current context 和 Fatal signal 11
但同样的cocos2dx ,同样的jni代码,另一个项目却正常。找寻了好久之后发现了原因
cocos2dx 3.x以后版本 不再是一个进程跑到底:
引用:“Cocos2d-x从2.x版本到上周刚刚才发布的Cocos2d-x 3.0 Final版,其引擎驱动核心依旧是一个单线程的“死循环”,一旦某一帧遇到了“大活儿”,比如Size很大的纹理资源加载或网络IO或大量计算,画面将 不可避免出现卡顿以及响应迟缓的现象。从古老的Win32 GUI编程那时起,Guru们就告诉我们:别阻塞主线程(UI线程),让Worker线程去做那些“大活儿”吧。 手机游戏,即便是休闲类的小游戏