Handler、Thread和HandlerThread的差别

  • Handler是Android中用于处理线程间通信的组件(常用于异步更新UI)

  • Thread是java中的线程类

  • HandlerThread是Thread的一个子类(谷歌封装的),在HandlerThread类中存在一个Looper对象,用于消息的取出和处理

在线程中处理消息时,如果不使用HandlerThread的时候,只使用Handler+Thread时,需要手动去调用Looper.prepare()和Looper.loop()。(如果一个线程要处理消息,那么它必须拥有自己的Looper,并不是Handler在哪里创建就可以在哪里处理消息。)