AIDL与Binder与Messenger的使用区别!

原创 2016年03月10日 00:05:07

a.只有当你需要来自不同应用的客户端通过IPC(进程间通信)通信来访问你的服务时,并且想在服务里处理多线程的业务,这时就需要使用AIDL。

b.如果你不需要同时对几个应用进程IPC操作,你最好通过实现Binder接口来创建你的接口。

c.如果你仍需要执行IPC操作,但不需要处理多线程,使用Messenger来实现接口即可。

d.无论如何,在实现AIDL之前确保你完全理解Bound Service相关知识。


总结下,它的们共同点和差异的地方:

1.他们都与IPC(远程)调用有关。

2.本质不同,Binder是一个对象,继承了IBinder对象,你可以借助它来自定义RPC(远程过程调用协议)协议。AIDL是android提供的接口定义语言,借助这个工具,你可以很轻松地实现IPC通信机制,根据需要灵活定义接口,

3.作用范围不同。如果是在一个应用里实现远程调用,使用Binder即可,没必要使用AIDL。如果涉及到在多个应用程序之间使用IPC通信,并且在服务又有多线程业务处理,这时可以使用AIDL。


适用范围 messenger<binder<aidl    当然复杂度也依次增加。当然实际messenger的本质也是调用的AIDL。

参考Messenger的使用与本质

     Binder与AIDL机制差别

      

版权声明:欢迎你来转载,不过请带个此Blog链接!

相关文章推荐

AIDL与Binder的区别

Binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的。 它是对IBinder类的实现,其中IBinder类提供了这样一个类的标准的本地化实现方式。 大...

binder与aidl机制区别

binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的。它是对IBinder类的实现,其中IBinder类提供这样一个类的标准的本地化实现方式。 大多数开发者不会去...

Android aidl Binder框架浅析

1、概述Binder能干什么?Binder可以提供系统中任何程序都可以访问的全局服务。这个功能当然是任何系统都应该提供的,下面我们简单看一下Android的Binder的框架Android Binde...

Android中的Service:Binder,Messenger,AIDL(2)

前言前面一篇博文介绍了关于Service的一些基本知识,包括service是什么,怎么创建一个service,创建了一个service之后如何启动它等等。在这一篇博文里有一些需要前一篇铺垫的东西,建议...

Android 基于Message的进程间通信 Messenger完全解析

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46858663; 本文出自:【张鸿洋的博客】 一、概述说到Andro...

Android进程通信之Messenger&AIDL使用详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 前言使用时机AIDL使用 1 创建aidl文件2 实现接口3 向客户端暴露接口4 客户端调用 M...
  • djwmzyl
  • djwmzyl
  • 2017年01月03日 09:57
  • 533

Messenger与AIDL的异同

最近做项目需要使用进程间通信,大家知道应用层的进程间通信无非Broadcast,Activity,Service,Content Provider四大组件。Broadcast适用于一对多,我这里是一对...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Messenger解析(和Handler、IBinder、Message的关系)

为了更好的理解bound service利用Messenger来夸进程服务,这里先写一篇文章简单分析下Messenger、Handler、Message、Binder的关系。 先来看看Messe...

android 进程间通信 messenger 是什么 binder 跟 aidl 区别 intent 进程间 通讯? android 消息机制 进程间 android 进程间 可以用

作者:韩亚飞_yue31313_韩梦飞沙  QQ:313134555.
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AIDL与Binder与Messenger的使用区别!
举报原因:
原因补充:

(最多只允许输入30个字)