HandlerThread

来源:互联网 发布:网络诈骗罪判决书 编辑:程序博客网 时间:2024/06/05 21:09

我们在一个线程中使用Handler的步骤

  1. Looper.prepare()创建与当前线程绑定的Looper
  2. Handler handler = new Handler(Looper.myLooper())
  3. Looper.loop()开启循环访问消息队列

对于Handler机制的原理,可以参考http://blog.csdn.net/actor1999/article/details/70210901

HandlerThread继承Thread,它的run()方法为

@Overridepublic void run() {  mTid = Process.myTid();    Looper.prepare();    synchronized (this) {      mLooper = Looper.myLooper();      notifyAll();    }    Process.setThreadPriority(mPriority);    onLooperPrepared();    Looper.loop();    mTid = -1;}

HandlerThread使用:

HandlerThread handlerThread = new HandlerThread();handlerThread.start();Handler handler = new Handler(handler.getLooper());

可以看出HandlerThread就是将我们使用Handler要做的事情封装一下而已。

0 0