能用普通线程的,你就用普通线程。
只能用UI线程的,你就用UI线程。
如果你要等待的就用普通线程执行
但是有些东西必须用UI线程执行的,比如绘制界面(像弹窗,弹出Toast,关闭窗口)
普通线程
new Thread(new Runnable(){
}).start();
UI线程
activity.runOnUIThread()
如果跟游戏打交道的,是用第三种线程GL线程(例如下发道具)。不一定和游戏打交道都需要,但是如果出错可以试试用这个线程。
cocos2dxActivity.runOnGlThread();
Handler 机制,它是Runnable和Activity交互的桥梁,在run方法中发送Message,在Handler里,通过不同的Message执行不同的任务。
(Handler的设计实际上是为了应用程序内其他线程和主线程进行通信,因为只有主线程才能更新UI,其他线程不行)
handler 相当于 runOnUIThread
handler内的程序都会在UI线程执行。活动在线控制开关
目测是用普通线程访问服务器,取得结果
再使用GL线程向游戏底层设置活动控制。