Android源码——应用程序的消息处理机制

Posted CoderAndy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android源码——应用程序的消息处理机制相关的知识,希望对你有一定的参考价值。

android应用程序在启动每个线程时,都会创建一个消息队列。线程的生命周期分为创建消息队列和进入消息循环两个阶段。

消息循环分为:发送消息和处理消息。

Android系统主要通过MessageQueue、Looper和Handler三个类来实现Android应用程序的消息处理机制。

  MessageQueue——描述消息队列

  Looper——创建消息队列

  Handler——发送消息、处理消息

创建线程消息队列过程

  调用Looper类静态成员函数prepareMainLooper或者prepare来创建;

  创建MessageQueue对象,保存在mQueue;

  MessageQueue在创建的过程中,调用nativeInit方法在C++层创建一个NativeMessageQueue对象;

  android_os_MessageQueue_nativeInit方法实现创建NativeMessageQueue;

  NativeMessageQueue在创建的过程中,会创建一个C++层的Looper对象;

  C++层的Looper对象创建过程中,会创建一个管道。

 

以上是关于Android源码——应用程序的消息处理机制的主要内容,如果未能解决你的问题,请参考以下文章

android的消息处理机制(图+源码分析)——Looper,Handler,Message

Android开发人员必看的 Handler 消息处理机制(源码实战)

Android开发人员必看的 Handler 消息处理机制(源码实战)

android的消息处理机制(图+源码分析)——Looper,Handler,Message

深入源码分析Handler的消息处理机制

Android异步消息机制及源码分析