之前总结过Android Handler、Looper、Message、MQ的知识点,我们翻看源码的时候,看到一个关键类HandlerThread,当时还提出过疑问,这个和Thread有什么区别。本节,我们就结合实践来分析一下HandlerThread。
之前关于Android线程和进程的深入总结,各位有兴趣的建议,先看一下。
#Android进程和线程
1.源码解读
1.1 前言
大家看过上面我总结的handler、looper的相关文章的,一定看到过这样的总结片段。
至于具体原因,大家可以参看上面的文章,从这里我们知道,Looper不断的从MessageQueue中取出消息,交由handler进行处理,也就是说,如果没有looper和MQ,那么handler也就没有存在的意义了,所以如果我们想要通过handler操作thread,那么必须首先有子线程的looper对象,将MQ、handler、thread、looper四者关联起来才可以。
一句话要想通过handler去操作子线程的looper,那么首先得在子线程内部调用,looper.prepare方法