美文网首页
Binder机制-01

Binder机制-01

作者: 我和你说过 | 来源:发表于2020-05-15 15:21 被阅读0次

Binder机制的模型图

binder_01.png

ServiceManager (中间件-注册服务-获取服务)

1. 流程解析
1、open驱动 (打开dev/binder节点文件)
2、告诉驱动进程自己的身份(也就是binder驱动进程中会有ServiceManager的信息)
3、while() 循环 {
    读binder驱动的节点文件,
    获取数据(没有数据的时候会阻塞)
    解析数据
    判断数据{
          if(注册服务)->在链表中你那个记录服务名
          if(获取服务)->在链表中获取服务,存在就返回Service进程的handle
    }
}
2. 代码流程
binder_open()

Service(提供服务的进程)

1、open驱动 (打开dev/binder节点文件)
2、向ServiceManager注册服务(在一个链表中记录服务名)
3、while() 循环{
     读驱动(dev/binder的节点文件)//Client进程中会有Service进程的Handle,它是Client进程向Service进程发送数据的。
     解析数据//解析Client进程发送过来的数据
     调用对应函数实现相关操作
}

Client(获取服务的进程)

1、open驱动 (打开dev/binder节点文件)
2、获取服务:
         a.向ServiceManager查询需要的服务(通过参数中的服务名)
         b.获取相应的服务的一个Handle
3、向handle发送数据(调用服务提供的函数来达到效果)。

相关文章

  • Binder机制-01

    Binder机制的模型图 ServiceManager (中间件-注册服务-获取服务) 1. 流程解析 2. 代码...

  • Android framework学习索引

    binder基础 启动流程要求对于binder机制有了解,要有binder的学习基础binder机制https:/...

  • Android多进程机制(二)Binder工作机制

    Binder工作机制 我们可以先从SDK自动为我们生成的AIDL对应的Binder类来分析Binder工作机制。 ...

  • Binder 总结

    什么是binder binder是Android 中的一种进程间通信机制(IPC机制) binder 为什么会出现...

  • binder 机制

    binder 机制

  • 移动架构07-Binder核心机制

    移动架构07-Binder核心机制 一、什么是Binder 从机制上说,Binder是一种Android中实现跨进...

  • Binder

    Binder是Android中跨进程通信的一种机制,Binder机制的优点有: 1.高效 Binder数据拷贝只需...

  • Android实现跨进程通信

    Binder机制介绍

  • Binder机制

    Binder的机制 Binder是什么 binder是什么?我们都在Activity通过getSystemServ...

  • Android Binder

    Binder Binder是什么? Binder是一种进程间通信机制为什么是Binder? Binder架构 Bi...

网友评论

      本文标题:Binder机制-01

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