最近在研究android的通讯机制,关于android的通讯有个AIDL,这个是进程间的通信,我看了下别人的代码,发现AIDL里面也定义了一个继承自Service的类,我有以下两个问题:    1.AIDL必须要建立一个继承自Service的类么
    2.AIDL建立的这个Service类和android本身的Service有什么区别,我们直接使用Activity调用Service也可以啊,为什么还要使用AIDL呢    其实本人对AIDL的使用场景和好处不太清楚,望高人解答下

解决方案 »

  1.   

    我也只是了解皮毛,Service分为本地服务和远程服务,远程服务就一定要用到AIDL技术实现,因为android的不同应用是在不同的进程中运行的,也是彼此独立的,如果在一个应用中访问另一个应用,也就是调用远程服务,就要把服务端定义的AIDL文件放到客户端,这样才可以实现远程服务调用。我也只知道这么多,希望对你有帮助。
      

  2.   

    我也只用了service,至于那个AIDL我看到别人用过,不过我也不知道有啥优势。
      

  3.   

    AIDL机制就是处理客户端和服务端的通信,通过AIDL机制,客户端通过调用服务端提供的接口
    便于跨进程调用其他应用程序如果你的应用程序不涉及其他应用时,没有必要使用AIDL机制
      

  4.   

    说的太简略了,谁能说说aidl的核心机制吗?