AIDL 使用详解 (一) Android跨进程调用

引言

这里写图片描述

如果进程1需要使用进程2的数据,或者进程2需要和进程1共享数据,它们之间如何进行通信呢?如果你说直接进行通信不就行了吗,但是不行,官方不允许这么做。进程之间不能直接进行通信。

这里写图片描述
每个应用程序都是一个虚拟机,一般来说,每个应用程序也是一个进程。进程之间无法直接通信,有安全方面的考虑,这样保证了进程之内数据的安全性,保证每个进程的数据不受其它进程的影响。
进程之间要进行通信,必须通过Android底层进行间接通信。

AIDL入门介绍

AIDL(Android 接口定义语言),既然是接口定义语言,那么AIDL就可以定义接口,通过该接口进行客户端与服务端的进程间通信 (IPC)。

你真的需要用AIDL吗?

Note: Using AIDL is necessary only if you allow clients from different applications to access your service for IPC and want to handle multithreading in your service. If you do not need to perform concurrent IPC across different applications, you should create your interface by implementing a Binder or, if you want to perform IPC, but do not need to handle multithreading, implement your interface using a Messenger. Regardless, be sure that you understand Bound Services before implementing an AIDL.
  • AIDL : IPC 多个应用程序 多线程
  • Binder : IPC 单个应用程序 多线程
  • Messenger: IPC 单线程

Android Studio 使用 AIDL

请看我另一篇文章
AIDL使用详解 AndroidStudio中 创建 AIDL service

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值