Android系统从驱动到上层服务再到应用的两种服务架构方式

1)使用类似sensor service的方式:

此方式用于,service的接口不想暴露给上层activity直接使用的情形
例如sensor架构
c/s结构,适合多个应用与单个服务通信,binder通信时,做connection的区分即可区分不同的client。

2)使用AIDL直接暴露接口的方式:

这个更适合单个应用与服务通信,
多个应用与服务通信时,需要处理接口的重入问题。
利用Binder实现的标准JNI,不用你去专门实现自己的JNI
此方式用于,service的接口暴露给上层activity直接使用的情形
更简单

另外我的相关培训视频请看:
欢迎观看我发布的各个课程: https://edu.51cto.com/lecturer/8896847.html