Android --- handler详解
handler 理解
handler 是一套Android 消息传递机制,主要用于线程间通信。
tips: binder/socket 用于进程间通信。
参考:
Android 进程间通信-CSDN博客
handler 就是主线程在起了一个子线程,子线程运行并生成message ,looper 获取message 并传递给handler ,handler 逐个获取子线程中的message 。
相关概念
Handler Message MessageQueue looper ThreadLocal
Handler
handler : 消息真正的处理者,具备获取消息,发送消息,处理消息,移除消息等功能。
Message
Message ( C层和java层都有实现 ): 代表一个行为 what 或者一串runnable ,每一个消息加入队列都有明确的目标handler 。
MessageQueue
MessageQueue( C层和java层都有实现 ) :以队列形式对外提供插入和删除工作,其内部是单向链表形式存储消息。
Looper
Looper :looper 是循环的意思,它负责消息循环队列中取出消息交给handler 。
ThreadLocal
ThreadLocal: 线程本地存储(Thread local storage 简称: tsl) 每个线程都有自己私有的本地本地存储区域。不同线程之间不能访问对方的本地存储区域。意思就是线程隔离。
handler原理
实际使用讲解
结束。