一、HandlerThread的使用
//创建实例对象
HandlerThread handlerThread=new HandlerThread("thread_handler");
//开启循环
handlerThread.start();
//创建handler,looper使用的是handlerThread的looper
Handler handler=new Handler(handlerThread.getLooper()){
@Override
public void handleMessage(Message msg) {
//工作线程中处理问题
super.handleMessage(msg);
}
};
//发送消息
handler.sendEmptyMessage(0);
//结束线程,停止消息循环
handlerThread.quit();
二、HandlerThread的源码分析
1、HandlerThread是Thread的子类,线程类
public class HandlerThread extends Thread {
int mPriority;
int mTid = -1;
Looper mLooper;
private @Nullable Handler mHandler;
public HandlerThread(String name) {
super(name);
mPriority = Process.THREAD_PRIORITY_DEFAULT;
}
2、当我们调用start方法后,HandlerThread会执行run方法,run方法创建当前线程的Looper,并把创建的looper赋值给