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

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

2、为何要用Handle?
  • 1
  • 2

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

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

MessageQueen: 存储消息对象的队列线程

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

Handler:发送消息和处理消息code

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

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

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

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

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

相关文章
相关标签/搜索