ps:阅读原文可读性会好一些,原文链接:https://mp.weixin.qq.com/s/RIgyO85mFO5ZVXLXEdF9OA
前面我们花了很长时间用两篇文章(Android中Handler的消息机制分析(一)和Android中Handler的消息机制分析(二))分析 Handler 的消息机制,这一篇我们来分析 Handler 消息机制中的一种功能叫同步屏障;Message 可分为3种:普通消息、屏障消息和异步消息,其中普通消息又叫同步消息,屏障消息又叫同步屏障;屏障消息就是在消息队列中插入一个屏障,在屏障之后的所有普通消息都会被挡着,不能被处理,屏障不会挡住异步消息;屏障消息的目的是确保异步消息的优先级,让异步消息先执行。
我们看看 MessageQueue 的 next 方法,看看哪些是屏障消息;
Message next() {
…
for (;