安卓进阶(2)之android Binder通信理解

关键字

  1. aidl
  2. 进程间通信
  3. binder机制

aidl

全名安卓接口定义语言,用于进程间通信。简单理解的话,就是类似应用的服务器和客户端。服务器开启一个服务处理数据,客户端传递数据以及响应回调。具体使用方法见AndroidStudio实现AIDL建议自己跟着文章手写一遍,并细看build之后由aidl文件生成的java文件中内容。

4种进程间通信

  1. Activity(应用跳到拨打电话页面)
  2. ContentProvider(获取手机系统联系人信息,音视频等)
  3. BroadcastReceiver(类似听收音机的广播,被动接收)
  4. Service(远程Service,跟aidl结合使用)

Binder机制

Binder是安卓进程间通讯的一种方式,aidl是Binder通信的一个实践,Binder采用的是C/S架构,最上层的java层(C/S),经过framework层,JNI层,native层,最终通过ioctl(对设备io通道进行管理)跟内核层进行通信。贯穿始终的是一个叫做ServiceManger的管理类。每启动一个server进程,就会默认生成16个线程大小的线程池(每个应用的客户端跟server交互产生一个线程,就算是百度或者360全家桶,16个线程也已足够)。

参考文章
AndroidStudio实现AIDL
Android 进程间通信的几种实现方式
Android Binder 进程间通讯机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值