码迷,mamicode.com
首页 > 其他好文 > 详细

HandleThread

时间:2015-08-17 15:23:22      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

Handler会关联一个单独的线程和消息队列。Handler默认关联主线程,虽然要提供Runnable参数,但默认是直接调用Runnable中的run()方法。也就是默认下会在主线程执行,如果在这里面的操作会有阻塞,界面也会卡住。如果要在其他线程执行,可以使用HandlerThread

HandlerThread继承于Thread,所以它本质就是个Thread。与普通Thread的差别就在于,主要的作用是建立了一个线程,并且创立了消息队列,有来自己的looper,可以让我们在自己的线程中分发和处理消息。

创建步骤:

(1)private HandlerThread mHandlerThread = new HandlerThread("MP3Encode");

       mHandlerThread.start();
(2)

class EncodeHandler extends Handler {

		public EncodeHandler(Looper looper) {
			super(looper);
		}

		@Override
		public void handleMessage(Message msg) {
			Logging.d(TAG, "handle  msg " + msg.what);
			switch (msg.what) {
			.................
			default:
				break;
			}
		}
	}

 

(3)EncodeHandler  mHandler = new EncodeHandler(mHandlerThread.getLooper());

HandleThread

标签:

原文地址:http://www.cnblogs.com/xiakexinghouzi/p/4736548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!