zoukankan      html  css  js  c++  java
  • Android Binder

    1. Binder用于完成进程间通信,它是一种工作在Linux层面的架构,这种架构提供了服务端接口,Binder驱动,客户端接口三个模块
      • 服务端,一个Binder服务端实际上就是一个Binder对象,该对象一旦创建就会启动一个线程,用于接收Binder驱动发送的消息,收到消息后会执行到Binder对象的onTransact()函数,并按照该函数的参数执行不同的服务代码,要实现一个Binder服务,必须重载onTransact()方法
      • Binder驱动:任何一个Binder对象被创建时,同时会在Binder驱动中创建一个mRemote对象,该对象类型也是Binder,客户端要访问远程服务时都是通过mRemote对象
      • 客户端:客户端要访问远程服务,必须获得mRemote引用,然后调用其transact()方法,Android提供了Service用于返回Binder
      •  
    2. ServiceManager:一个独立的进程,管理各种系统服务,其本身也是一个Service. ServiceManager所管理的所有Service都是以响应的Manager返回给客户端,客户端一般不能直接通过Binder引用去访问具体服务,而是经过一个Manager,响应的Manager类对客户端是可见的,而远程服务类对客户端则是隐藏的,这些Manager类中都会有一个远程服务Binder的变量
  • 相关阅读:
    CF321D
    oracle 第25章 闪回技术
    oracle 第24章 Netbackup 备份恢复
    oracle 第23章 RMAN 备份恢复
    oracle 第22章 EXP/IMP/EXPDP/IMPDP 备份恢复
    oracle 第21章 dblink
    oracle 第20章 序列号和同义词
    oracle 第19章 视图
    oracle 第18章 索引
    oracle 第17章 表
  • 原文地址:https://www.cnblogs.com/phenixyu/p/3969231.html
Copyright © 2011-2022 走看看