摘要: handler.post(r)其实这样并不会新起线程,只是执行的runnable里的run()方法,却没有执行start()方法,所以runnable走的还是UI线程。1.如果像这样,是可以操作ui,但是run还是走在主线程,见打印出来的Log线程名字是main,说明是主线程。这就是为什么可以直接在run方法里操作ui,因为它本质还是ui线程handler.post(new Runnable(){ public void run(){ Log.e("当前线程:",Thread.currrentThread.getName());//这里打印de结果会是main setTit 阅读全文
posted @ 2012-11-23 19:12 bvin 阅读(1536) 评论(0) 推荐(1) 编辑
摘要: 两个Handler,一个是主线程的mainHandler,一个是获取HandlerThread的looper的Handler.mainHandler在新线程发出消息,在主线程处理接受的消息。looperHandler拥有looper后即可post(Runnable),发起新线程,然后通过mainHandler在新线程里发送消息到主线程的handler。这里创建两个handler,一个是mainHandler维护主线程的looper,一个是looperHandler拥护HandlerThread的looper。1.mainHandler处理消息,复写handlerMessage()方法处理消息。 阅读全文
posted @ 2012-11-23 16:30 bvin 阅读(1588) 评论(0) 推荐(0) 编辑