android messenger 可以实现比aidl轻量化的进程间通信
来源:互联网 发布:raphael.js绘制流程图 编辑:程序博客网 时间:2024/06/04 18:18
实现注意点:
1、
<service android:name=".MyService" android:process=":remote" =》service要运行在其他进程
<intent-filter> <action android:name="com.myservice.action" /> </intent-filter>
</service>
2、发送自定义复合类型
// 发送
bundle.setClassLoader(SelfObject.class.getClassLoader());
bundle.putParcelable("self_object", new SelfObject());
msg.setData(bundle);
// 接收
bundle.setClassLoader(getClass().getClassLoader());
SelfObject so = bundle.getParcelable("self_object");
在相同应用,不同进程间;不同应用,不同进程间(自定义复合类型的路径、名称要一致),都可以正常传递
3、发送framework自带的、可以Parcelable序列化的复合类型,不需要设置ClassLoader,比如ContentValues类型
4、发送端发送Message时,在Message的replyTo成员变量中,设置receiveMessenger;
接收端收到该message后,可以使用该receiveMessenger发送响应消息给发送端,实现交互。
5、framework层的AsyncChannel,就是封装了Messenger,可以实现不同进程间Handler之间的消息传递,使用的地方很多;
(Messenger实际上是对aidl的简单封装)
=》有些细节还不是很清楚,需要继续深入些
参考:
http://byandby.iteye.com/blog/1027705
http://blog.csdn.net/cs_lht/article/details/6698468
http://blog.csdn.net/wqunwang506/article/details/7927922
- android messenger 可以实现比aidl轻量化的进程间通信
- Android 进程间通信-Intent、Messenger、AIDL
- Android进程间通信:Messenger,AIDL
- 关于android进程间通信(handler、messenger、AIDL)
- android 进程间通信使用aidl和Messenger类
- Android进程间通信AIDL、Binder、Messenger使用哪个?
- android AIDL实现进程间的通信
- AIDL实现Android进程间的通信
- Android的两种进程间通信方式Messenger和AIDL
- Android使用Messenger实现进程间通信
- Android进程间通信(3)-Messenger实现
- android基于Messenger的进程间通信
- AIDL实现Android的进程通信
- Android Messenger 进程间通信
- Android 进程间通信 Messenger
- Android进程通信之Messenger&AIDL使用详解
- Android进程通信之Messenger&AIDL使用详解
- android 使用AIDL实现进程间通信
- CPU的利用率
- MyBatis的分页插件介绍
- HDU1412---{A} + {B}(set实现)
- OpenLayers项目分析——(八)地图表现(续)
- nrf51822蓝牙触摸屏驱动总结
- android messenger 可以实现比aidl轻量化的进程间通信
- 剑指offer 17-合并两个排序表的链表
- 排序算法比较---C++版和java版
- 【资源】最新Android SDK_API_开发包_离线包_下载
- 我爱机器学习网机器学习类别文章汇总
- OpenLayers项目分析——(九)控件
- 设置环境变量(修改.bash_profile文件)
- 解决VS2012【加载......符号缓慢】的问题
- Oracle创建序列的方式