android aidl和ipc是什么关系??????????????? 他俩有关联吗? 是同一个东西?求能通俗的讲解一下

解决方案 »

  1.   

    ipc熟称进程间通讯机制,是指两个进程间进行通讯的机制,算是定义的概念。而aidl是指在android间实现进程通讯的一套组件方案,通过写 aidl定义接口,可以实现进程间通讯。
    http://disanji.net/2011/08/12/android%E8%BF%9B%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1%EF%BC%88ipc%EF%BC%89%E6%9C%BA%E5%88%B6binder%E7%AE%80%E8%A6%81%E4%BB%8B%E7%BB%8D%E5%92%8C%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/
      

  2.   

    Service的功能应该是介于activity 与Thread之间的一个功能。
      1:Service内可以处理界面远程,比如弹出一个消息框,而线程不可以。
      2:Service像Activity一样,不能处理耗时操作,耗时操作都需要放在Thread处理
      3:Service可以通过Activity调用,但Thread不可以。
      4:Service可以长时间运行在后台,即使程序关闭也如此。但Thread不行。
      5:Service是进程与进程间通讯的,不同的Service是处在不同的进程中,而Thread是一个线程。
      6:一般Service与Thread可以处理比较复杂的操作,如果网络编程,可以通过Service进行监听,然后通过Thread进行处理数据,处理完后进行反馈
      

  3.   

    aidl 是 android下实现 ipc的一种方式。具体aidl的应用请参看官方文档。
      

  4.   

    ipc就是进程间通讯 aidl只是一种实现而已,重点还是ipc,这个说来就话长啦
    操作系统中,内存空间一般分为内核空间和用户空间。平常软件是运行在用户空间中的,你的代码只能访问到当前的进程所拥有的内存。而如果是进程与进程间的通讯,必然产生数据交互,而代码又无法访问到,所以系统就实现了一些机制,以实现进程间的访问,这就叫ipc
    aidl是android的一种ipc机制。对于windows和linux来说,还有其他的ipc。比如本地的socket啊,共享内存啊,甚至是文件