Android的消息机制

Handler是Android消息机制的上层接口。Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。Handler的主要任务是将一个任务切换到某个指定的线程中去执行。

ThreadLocal是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,在多个线程中互不干扰的存储和修改数据

MessageQueue主要包括两个操作:插入和读取,分别对应方法为enqueueMessage和next,enqueueMessage的主要操作是单链表的插入操作,next方法是一个无限循环的方法

Looper会不停的从MessageQueue中查看是否有新消息,若有则立即处理,否则一直阻塞。Looper提供了quit和quitSafely来退出一个Looper。在Looper中只有调用loop方法后,消息循环系统才会真正起作用

Handler的工作主要包含消息的发送和接受过程,Handler发送消息的过程仅仅是向MessageQueue中插入一条消息,MessageQueue的next方法会返回这条消息给Looper,Looper收到消息后开始处理,最终消息会由Looper交给Handler处理,Handler的dispatchmessage方法会被调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值