HandlerThread 介绍和使用

2018-07-10  本文已影响0人  上官宏竹

为了避免 ANR,我们常常需要在线程中做耗时操作,然后把结果抛到主线程进行处理。

参考:https://blog.csdn.net/u011240877/article/details/72905631

使用步骤

1 创建一个HandlerThread,即创建了一个包含Looper的线程。

   HandlerThread handlerThread = new HandlerThread("mythreadloop");

handlerThread.start(); 

2 获取HandlerThread的Looper

  Looper looper = handlerThread.getLooper();

3 创建Handler,通过Looper初始化

  Handler handler = new Handler(looper);

通过handler发送消息,就会在子线程中执行。

如果想让HandlerThread退出,则需要调用handlerThread.quit();。

4、使用handler.post(Runnable) 放入队列中,然后执行Runnable的代码。

RunnablemRunnable =new Runnable() {

@Override

    public void run() {

// 子线程执行的代码

}

}

上一篇下一篇

猜你喜欢

热点阅读