美文网首页
Android 中的 IPC 方式

Android 中的 IPC 方式

作者: _Sisyphus | 来源:发表于2018-09-05 20:05 被阅读0次
  1. Bundle

    实现了 Parcelable 接口,三大组件(Activity、Service、Receiver)支持在Intent中传递 Bundle 数据。

  2. 文件共享

    两个进程对同一个路径的文件进行读写以交换数据、或同一路径下的对象的序列化和反序列化操作。

  3. Messenger

    在不同进程中传递 Message 对象,在 Message 中放入需要传递的数据。底层是 AIDL。

  4. AIDL

     服务端:
         1. 定义一个 Service 监听客户端的连接请求  
         2. 创建一个 AIDL 接口文件,暴露给客户端调用
         3. 在 Service 中实现这个接口
             Binder mBinder = new IAidlInterface.Stub(){
                 //实现方法
             }
         4. 在 onBind 中返回 mBinder对象
    
     客户端:  
         1. 本地创建和服务端 aidl 文件所在路径相同的包名,将服务端的 aidl 文件复制进去,会自动生成 .aidl 所对应的 .java 文件
         2. 绑定服务端的 Service
         3. 绑定成功后,将服务端在 ServiceConnectuon 中返回的 IBinder 对象转成 AIDL 接口所属的类型,就可以调用 AIDL 中定义的方法
             private ServiceConnection mConnection = new ServiceConnection(){
                 public void onServiceConnected(ComponentName className,IBinder serbice){
                     IAidlInterface  aidlInterface = IAidlInterface.Stub.adInterface(service);
                     aidlInterface.xxx(); //调用远程方法       
                 }
             
             }
    
  5. ContentProvider

    • 底层也是 Binder
    • onCreate()运行在主线程,不应该执行耗时操作,其余四个增删改查方法和getType方法运行在 Binder 线程池中
    • 数据改变通知:ContentResolver 的 notifyChange 方法通知外界;
    • 监听一个 ContentProvider 中的数据改变: ContentProvider.registerContentObserver注册观察者,unRegisterContentObserver 来解除观察者。
  6. Socket

相关文章

  • Android中的IPC方式——Binder(三)

    Android中的IPC方式——Binder(一) Android中的IPC方式——Binder(二) 基于A...

  • Android IPC(二)

    Android IPC Android中的IPC方式 使用Bundle Android的四大组件都支持在Inten...

  • Binder

    前言 Android系统是基于Linux系统的,理论上应该使用Linux内置的IPC方式。Linux中的IPC方式...

  • Android匿名共享内存(Ashmem)

    Android匿名共享内存 在Android中我们熟知的IPC方式有Socket、文件、ContentProvid...

  • IPC机制(上)

    目录 Android IPC简介 Android中的多进程模式 IPC基础概念介绍 Android IPC简介 I...

  • Android 中的 IPC 方式

    Bundle实现了 Parcelable 接口,三大组件(Activity、Service、Receiver)支持...

  • Android中的IPC方式

    IPC是Inter-ProcessCommunication的缩写,进程间通信、跨进程通信,是指两个进程之间进行数...

  • Android中的 IPC 方式

    1.什么是 IPC  IPC 是 Inter-Process Communication 的缩写,含义为进程间通信...

  • Android中的IPC方式

    前面我们介绍了Serializable和Parcelable的基础知识,以及Binder的相关内容。本篇,开始分析...

  • Android 中的 IPC方式

    1.Android中的多进程模式: 在android中最有特色的进程通讯方式就是Binder了,通过Binder可...

网友评论

      本文标题:Android 中的 IPC 方式

      本文链接:https://www.haomeiwen.com/subject/qhszwftx.html