平时属于用的比较多的一个Thread类 按照定义集成了Thread类 又封装了Handler类
以下是HandlerThread的用法
// 步骤1:创建HandlerThread实例对象
// 传入参数 = 线程名字,作用 = 标记该线程
HandlerThread mHandlerThread = new HandlerThread("handlerThread");
// 步骤2:启动线程
mHandlerThread.start();
// 步骤3:创建工作线程Handler & 复写handleMessage()
// 作用:关联HandlerThread的Looper对象、实现消息处理操作 & 与其他线程进行通信
// 注:消息处理操作(HandlerMessage())的执行线程 = mHandlerThread所创建的工作线程中执行
Handler workHandler = new Handler( handlerThread.getLooper() ) {
@Override
public boolean handleMessage(Message msg) {
...//消息处理
return true;
}
});
————————————————
原文链接:https://blog.csdn.net/carson_ho/article/details/79285760
详细使用可以参考原文链接
其实我自己通过查看源码 (一百来行代码)
个人觉得HanderThread 的作用 比较通俗易懂的理解就是 这个Thread不是用来跑run方法的,
而是这个Thread是用来创建Looper对象的,如果类比主线程和子线程是电梯(模式固定),那么HanderThread 就是个移动的梯子,可以主线程和线程 也可以线程和线程,这么理解HanderThread会比定义会更通俗易懂点。