带着问题学习

  1. HandlerThread 是什么?
  1. HandlerThread 怎么使用?
  1. HandlerThread 的原理和使用场景是什么?
  1. HandlerThread 的作用是什么?

简介

A Thread that has a Looper. The Looper can then be used to create Handlers. 一个自带 Looper 的 Thread

作用

HandlerThread 继承自 Thread,且内部自带一个 Looper,所以,可以用于处理耗时任务,特别是如果要在同一个线程中执行多次耗时任务时,用 HandlerThread 是个不错的选择

简单使用

Handler 自定义

启动 HandlerThread

创建自定义 Handler

收尾工作

源码解析

从上面的代码可以看出,HandlerThread 的 Looper 直到调用了 run 方法,才会被创建

注意点

  • HandlerThread 本身还是一个 Thread,所以,还是需要跟普通的线程一个,调用 start() 方法来启动线程,才能成功创建出 Looper 对象
  • 使用完之后,一定要记得 quit
setContentView 解析Handler 源码解析