android开发笔记:Handler、Looper、MessageQueen、Message的关系

一、什么是handler? 
注:线程分为主线程(主线程又叫UI线程,只能有一个主线程)和子线程(可以有多个)Handler只能在主线程里运行 
handler是Android给我们提供用来更新UI的一套机制,也是一套消息处理机制,我们可以发消息,也可以通过它 处理消息。

 二、为什么要用Handle?
  • 1
  • 2

因为android在设计的时候就封装了一套消息创建、传递、处理。如果不遵循就不能更新UI信息,就会报出异常(所谓的异步消息处理) 
三、 Handler的工作原理? 
Handler的工作原理是Handler发送消息给MessageQuee给形成Handle MessageQuee再由Handle MessageQuee传递消息给Looper(一个对象)最后由Looper递交给 Handler处理(一个Handler里面必须要有一个Looper)

Handler、Looper、MessageQueen、Message的关系 
Message: Handler接收和处理的消息对象

MessageQueen: 存储消息对象的队列

Looper: 负责读取MessageQueen中的消息,读到消息之后就把消息交给Handler去处理。

Handler:发送消息和处理消息

四、什么是Message Quee 
Message Quee就是存储消息对象的队列(消息来自于Message)

五、Handler怎么用 
Handler主要有发送消息和处理消息两大作用 
Handler发送消息给Message而Message再由 MessageQueen进行消息的存储,接着由Looper负责读取 MessageQueen中的消息,最后由Handler处理消息。

总结: 
Looper的作用:每个线程只有一个Looper,他负责管理MessageQueue,会不断的从MessageQueue取出消息,分发给对象 的handler

MessageQueue的作用:由Looper管理,而MessageQueue则采用先进的方法来管理Message!

Handler的作用:它把消息发送给Looper管理的MessageQueue,并负责处理Looper分发给他的消息。

原文地址:https://www.cnblogs.com/firebullio/p/9528681.html