安卓的handle机制,主要有三个成员,Massage,MassageQuene,Looper。
Massage:为消息对象。
MassageQuene:消息队列,内部为链表结构,用于存放Massage对象,先进先出原则。
Looper:主线程默认会执行prepare()方法,进行初始化,然后在调用loop(),开启死循环调用MassageQuene对象的next()方法,主要逻辑位于next ()中,当取到消息时调用目标handle.dispatch返回消息没有消息时next()中会挂起,线程进入休眠状态。延时消息的处理也是这样。
网友评论