zoukankan      html  css  js  c++  java
  • Android Binder机制学习笔记

      声明,学习材料:http://my.unix-center.net/~Simon_fu/?p=875,不是简单的copy

     1    Android的进程间通讯机制(IPC)用的是自己的binder机制,利用的是对象代理,可以理解为客户端-服务器模式:

         1)客户端通过xxx得到服务器端的代理对象

         2)客户端通过调用服务器代理对象的方法向服务器端发送请求

         3)代理对象把用户请求通过Android内核的Binder驱动发送给服务器进程

         4)服务器进程处理请求后通过Android内核的Binder驱动将处理结果发送给客户端的服务器代理对象

         5)客户端接收服务器端处理后的结果

    2  为什么说Service Manager是Android binder机制的大总管呢?第一:客户端需要向Service Manager 来查询和获得所需要的服务。第二:服务器也要向Service Manger注册自己的服务

    3  Service 如何处理server的注册和应用程序的查询和获取服务?

       Android 中Service Manager的源码位于:framework\base\cmds\servicemanager\service_manager.c,里面有main函数,说明他是一个进程。

    在init.rc中我们发现ServiceManager是Android的核心程序,开机就会自动运行。现在查看它的main函数:

                        int main(int argc,char **argv){

                           struct binder_state  *bs;

                           void  *svcmgr=BINDER_SERVICE_MANAGER;

                           if

    }

  • 相关阅读:
    C#扩展方法
    asp.net mvc获取http body中的json
    ASP.NET MVC 获取表单数据
    @Html.DropDownList()的四种用法及自定义DropDownList扩展

    MVC5+EF6入门完整教程6:Partial View
    Day3.13组件切换
    Day3.12组件中的data和methods
    Day3.11定义私有组件
    Day3.10组件定义方式三
  • 原文地址:https://www.cnblogs.com/benxiong/p/2587709.html
Copyright © 2011-2022 走看看