Android 中有两个非常重要的知识点,分别是 Binder 机制和 Handler 机制。前者用于跨进程通讯,并且通过 ServiceManager 给上层应用提供了大量的服务,而后者用于进程内部通讯,以消息队列的形式驱动应用的运行。之前的文章已经多次分析了 Binder 相关的内容,复杂程度远高于 Handler,之后还会继续分析 Binder。说到 Handler,做安卓开发的一定都不会陌生,一般用于切换线程。其涉及到的类还有 Looper,MessageQueue,Message 等。其中 MessageQueue 是事件驱动的基础,本文会重点分析 MessageQueue,其他内容会简单带过,可以参考生产者 - 消费者模式。