应届毕业生面试Handler消息处理机制

时间:2021-09-27 17:48:15

Handler 是异步处理消息处理类,常用来处理子线程发送的消息,更新UI
Handldr 是 Android 面试的常客,这一篇不讲怎么使用Handler,怎么创建。讲一讲:Handler 、 Looper 、Message(看作是一个任务) 这三者都与Android异步消息处理线程相关的概念,下面主要是理论性的知识,要想深入学习请看

http://www.cnblogs.com/smyhvae/p/4003922.html

http://blog.csdn.net/lmj623565791/article/details/38377229/

消息处理线程运行原理

异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程则会阻塞等待。

  • 用Loop创建MessageQueue
  • MessageQueue是一个消息队列,用来存放消息,并不断地循环读取Message(任务)
    ———————————这两个方法一般不需要我们去操作—————————–
  • 创建子线程,在里面用 Message.obtain();创建message,这个方法可以判断队列中是否存在相同得Message,防止重复创建
  • 使用handler发送message(数据),handler内部类中的handlerMessage方法会接收发送的消息,并处理

下面是整个机制的示例图

应届毕业生面试Handler消息处理机制

这篇CSDN只适用于应届毕业生或者是小白去理解,不是很详细,请多包含