Android-AIDL基础认知

2018-03-16  本文已影响2人  能有几次抉择

先说点题外话,这个AIDL我为什么要写下来呢?有两个原因吧,第一就是自己平时开发过程中所遇到的问题及所预演过的案例都没有做笔记,第二就是前段时间去面试了,被xxx面试官提问了解AIDL吗?AIDL服务是运行在哪个进程和哪个线程等等问题?当时被问蒙了(毕竟用的比较少)...故此简单记录一下!

经测试。AIDL接口定义在服务端,客户端调用的时候即使是在子线程,该AIDL服务始终运行在服务端的线程,进程也是一样。完全独立的两个进程和线程!

什么是AIDL呢,这里不做过多的解释,简单解释一下名词:

AIDL:Android Interface Definition Language,即Android接口定义语言。

直接进入主题,首先AIDL是一种跨进程接口,所以需要service & client两个进程,每个进程即一个APP。打开AS分别创建两个APP,先以service为例:在src/main下右键New-AIDL-AIDL File创建一个. aidl结尾的文件,里面定义自己的接口方法,然后就可以点击状态栏build-Make Module进行预编译,在build-generated-source-aidl-debug目录下就能看到我们刚才写的. aidl文件的接口实现源码了,看到里面有内部类stub就表明已经成功了。

手机端空闲时间记录,未完待续...

上一篇下一篇

猜你喜欢

热点阅读