zoukankan      html  css  js  c++  java
  • 浅谈android binder机制

    binder机制 是谷歌优化在android上更适合终端的IPC(多进程通信方式),满足系统对通信方式,传输性能和安全性的要求。

    特性:

    1. 用驱动程序来推进进程间的通信。
    2. 通过共享内存来提高性能。
    3. 进程间同步调用以及异步调用

    ...........................................

    IADL是用binder机制进行IPC的典型代表

    IADL是一个接口描述文件,规定IPC通信的接口,一般使用于client/server模式

    c/s双方写好IADL后,系统会生成一个继承binder以及实现这个接口的类---Stub

    XXXInterface.Stub extend binder implement XXXInterface

    server方:

    可以通过Stub类,实现接口功能,向client提供接口相关的服务

    client方:

    通过server提供的binder,来使用服务。

    client/server是如何通过binder进行通信的呢?

    我们可以看到Stub提供了3个重要的方法,以及远程binder Proxy类。

    asInterface(Ibinder obj)

    transaction(...)

    ontransaction(...)

    client通过asInterface(binder) 这个方法,把server提供的binder 生成 binder Proxy对象

    通过 transaction()来与远程binder对象进行通信。

    到底如何实现通信呢?

    首先把数据存入Parcel中,通过binder文件驱动通知,通过Ashmen内存共享通信

    具体如何做的,以后有时间在讲。

    server通过 ontransaction()方法,把处理结果返回给client。

  • 相关阅读:
    android handle详解
    android面试详解
    linux网络编程-一个简单的线程池(41)
    linux网络编程-posix条件变量(40)
    如何写一个简单的分页
    jQuery 3 有哪些新东西
    浅析正则表达式模式匹配的 String 方法
    jQuery源码浅析2–奇技淫巧
    前端文本截断
    你会用setTimeout吗
  • 原文地址:https://www.cnblogs.com/lzl-sml/p/5423318.html
Copyright © 2011-2022 走看看