zoukankan      html  css  js  c++  java
  • 零碎笔记之ServiceManager

    SM是开机的时候通过init.rc文件启动的,这就保证了它是系统中第一个注册成"服务大管家"的Service,所有的service服务都需要在SM中完成注册。
    ServiceManager.getService获取的对象是本地代理,映射到服务端Service调用

    作用:

    I.提供IBind对象,也就是各个service的引用,供每个进程使用,且对于每个进程来说,该Ibind对象是唯一的。

    II.让各个系统service注册到servicemanager中。

    在ServiceManager中有两个比较重要的方法:add_service和check_service,系统的service需要通过add_service把自己的信息注册到servicemanager中,当需要使用时,通过check_service检查该service是否存在

    ServiceManager完成三件事

    1. 打开Binder设备,并在内存中映射128k的空间

    2. 告诉Binder驱动程序,自己是Binder上下文管理者

    3. 进入循环,不停去读Binder设备,看是否有对service的请求,如果有的话就去调用svcmgr_handller函数回调处理请求。

  • 相关阅读:
    C#对象初始化器
    C#构造方法
    C#方法重载
    C#方法
    C#类 对象 字段和属性
    C#数组
    C#字符串
    C#原码反码补码
    字段、方法、属性
    单例模式、异常
  • 原文地址:https://www.cnblogs.com/krislight1105/p/9988958.html
Copyright © 2011-2022 走看看