手游中android平台在java代码里--->游戏子线程和java主线程的交替运行
来源:互联网 发布:matlab 网络协议仿真 编辑:程序博客网 时间:2024/05/17 07:12
1、cocos2d-x c++界面层运行在一个GLThread线程里面,严格的说是运行在Cocos2dxGLSurfaceView(继承自GLSurfaceView)里面,Cocos2dxGLSurfaceView 类,它是cocos2d-x引擎的一部分。opengl的渲染和刷新都是由这个类来完成。 我们不能直接在主线程java方法里调用c++方法来刷新界面,唯一的方法就是绕开javaUI主线程,而这绕开主线程的工作让GLSurfaceView来完成。代码如下(在java代码里):
private static native void javaCallC();private Cocos2dxGLSurfaceView mGLSurfaceView = null;public TimerJavaToC(Cocos2dxActivity act){mGLSurfaceView = Cocos2dxGLSurfaceView.getInstance();init();}public void callCPP(){mGLSurfaceView.queueEvent( new Runnable() { @Override public void run() { //调用jni,到c++ TimerJavaToC.javaCallC(); } });}
2、更新UI(更新数据)的两种方法是handler和runUiOnThread,更新UI必须得在主线程,否则会报错。抛出异常:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
3、游戏里从子线程到主线程也用runUiOnThread.
0 0
- 手游中android平台在java代码里--->游戏子线程和java主线程的交替运行
- Java 创建两个线程,和主线程交替运行。
- Java子线程和主线程交替输出(一个简单的实例)
- 多线程demo-主线程和子线程交替运行
- 关于java线程的经典面试题。主线程子线程交替执行n次
- Android运行在主线程和子线程浅释
- 主线程和子线程均循环10次,两者交替运行50次
- Java 主线程和子线程的转换
- 编写:创建2个线程,和主线程交替运行.
- 子线程主线程循环交替执行
- Java线程--在主线程和子线程中处理类变量
- Java:主线程和子线程-----主线程等待子线程结束
- java子线程全部执行完毕执行主线程代码
- java多线程 典型案例:子线程执行10次,主线程执行100次,两者交替50次
- [Java] Thread 线程交替运行
- java 线程通讯 主线程运行10次接着子线程运行5次,如此反复运行20次代码实现
- java 主线程 等待 子线程
- Java实现主线程等待子线程
- selector实现按钮选中高亮效果原理
- 一位ACMER过来人的经验
- 浅复制 深复制 clone
- 最佳eclipse字体推荐(个人认为)
- utilities.h
- 手游中android平台在java代码里--->游戏子线程和java主线程的交替运行
- PBOC2.0安全系列之—脱机认证之静态数据认证(SDA)
- Java FlowLayout、BorderLayout、GridLayout、GridBagLayout、CardLayout布局管理器
- android.os.handler相关知识整理
- smarty的应用
- GPU线程运行机制
- ajaxFileUpload 跨同顶级域访问问题
- window下创建软连接
- solrcloud/solr error