Handler提供了一种异步消息处理的机制,当程序sendMessage后可以继续执行,而Handler对象则用handleMessage方法处理。
但是事实上。handler并没有真正的重新开启一个线程去处理,它还是使用的Activity所在的主线程,所以下面用HandlerThread和Looper来构建新线程。
1、HandlerThread继承于Thread,所以它本质就是一个Thread。区别在于它有个Looper成员变量。
2、Looper对象就是对消息队列以及队列处理逻辑的封装,也就是消息队列+消息处理循环。
注意:线程handlerThread必须启动了才能得到Looper对象。