Android相关

Handler基础理论知识

2021-02-26  本文已影响0人  靠睡大觉创新高

简介

在Android开发中,我们经常需要在工作线程中进行夸线程通讯实现UI操作,这时就会使用到Handler。

Handler、Looper、MessageQueue、Message关系介绍

工作流程

  1. 在主UI线程启动的时候,系统就创建了UI线程Looper对象。Looper内包含了MessageQueue,在创建Looper时就会创建MessageQueue。
  2. 创建Handler时会获取当前线程的Looper对象,Handler可以发送Message到MessageQueue
  3. Looper不断的从MessageQueue中取出Message并派发给对应的Handler,Handler收到消息并执行对应的业务代码逻辑,这就完成了消息的消费

特性

Q&A

  1. Handler中发送消息线程安全吗?
    线程安全。
  2. 为什么消息循环不会卡死
    .....
  3. obtainMessage与new Message的区别:
    obtainMessage()会从消息池中获取到Message,重复new Message效率低。
上一篇 下一篇

猜你喜欢

热点阅读