1. 程式人生 > >Android基礎——Messenger在跨進程通信中的使用

Android基礎——Messenger在跨進程通信中的使用

原理 測試結果 自動回復 ron blog 什麽 通信 方法 角度

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可以接受到客戶端的消息後進行回復,這裏就類似於郵箱自動回復的功能

Android基礎——Messenger在跨進程通信中的使用