android游戏开发中,我一般是使用surfaceview,然后绘图部分我开一个线程,游戏逻辑部分又单开一个线程,可有人说这样不好,最好放在一个线程中进行
坛友们的观点呢?
坛友们的观点呢?
解决方案 »
- 关于surfaceView的相关问题
- android TextView的有关于Html标签的使用
- eclipse 运行 android 的问题
- android如今情景怎么样,工作怎么样?
- 求助!关于Android Bluetooth
- 关于跑CTS有一万多项Not Executed
- 关于适屏
- 【android求助】android客户端与php服务端交互,get数据只能在控制台打印无法再客户端显示出来是什么原因
- Android 广播收不到
- Android studio做个登录注册页面
- android的固定拨号(Fixed dialing Numbers)怎么实现的??
- 求一个android下阅读doc文件的程序源码
首先要确定2点,
1:绘制ui必须在主线程,也就是ui线程。
2:android里面,线程之间靠的消息来通信的(系统本身的消息机制)。楼上说的那个死锁的问题不存在,android在这点上,依靠的是thread的一个event looper(类似windows 上的looper,因为都是事件驱动的,每个线程都可以维护一个消息队列,UI线程本身就有一个消息队列)的概念。比如UI线程,线程1,线程2,总共三个线程。你线程1做完操作,会给UI线程发送一个消息,其实就是在UI线程的消息队列中加入一个事件,然后UI线程会调度执行这个事件,及时线程2这个时候完成,给UI线程发送消息,但是UI线程也只会在执行完当前操作之后,才有可能去调度执行消息队列中的事件。大概就是这个意思吧。
逻辑部分当然还是另开一个线程比较好.1楼所说的死锁,逻辑线程和UI线程各自负责不同的模块,并不争抢资源,哪来的死锁问题.
坛友们的观点呢?
cpu自动平衡调度
你去问写过大game主逻辑循环的人
他明白这个道理