Android基础——Messenger在跨进程通信中的使用

Messenger在跨进程通信中的使用

事先说明:

本人也是个初学者,所以本文是从初学者的角度入手,如果有不妥的地方请留言教导我,谢谢。

本篇文章主要针对讲解Messenger的使用和Messenger在应用层上的原理解析和Messenger在服务端的回复。


 

什么是Messenger?

Messenger可以翻译为信使,Messenger是一种轻量级的IPC方案,通过它可以在不同进程中传递Message对象,在Message中放入我们需要传递的数据,就可以实现数据的进程间传递了。

步骤一:Messenger的使用

 

服务端的编写:


在manifests中配置service:


客户端的编写(在另一个应用中):


启动服务端的Activity,并开启服务:


接着启动客户端,查看测试结果:



步骤二:Messenger在应用层上的原理解析

我们追随到Messenger的创建方法中,查看源码可以知道,底层是使用AIDL:


关于AIDL的使用和原理分析,这里参照我的CSDN博客,里面有详细的分析,Android基础——初学者必知的AIDL在应用层上的Binder机制,http://blog.csdn.net/qq_30379689/article/details/52253413

步骤三:Messenger可以接受到客户端的消息后进行回复,这里就类似于邮箱自动回复的功能

原文地址:https://www.cnblogs.com/zhanglixina/p/9597566.html