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函数回调处理请求。

最新文章

  1. Unity3D-ScrollRect 各参数的代码引用以及作用
  2. cassandra-执行请求入口函数
  3. SyteLine实现字段过滤
  4. golang:interface{}类型测试
  5. asp.net 文件操作小例子(创建文件夹,读,写,删)
  6. [MarsZ]程序猿谈大学之工作三年半的程序猿给大学童鞋的一些注释
  7. hadoop错误INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
  8. Deepin 15.3 下罗技蓝牙键盘连接
  9. zend framework 配置连接数据库
  10. 如何删除Windows10操作系统资源管理器中的下载、图片、音乐、文档、视频、桌面、3D对象这7个文件夹
  11. 【原创】Python第二章——字符串
  12. linux下如何使用gdb调试
  13. Python 函数 (关键字参数)
  14. jquey 小记
  15. Tomcat+Nginx+Redis+MySQL实现反向代理、负载均衡、session共享
  16. 将批量指定的docker镜像打成文件
  17. Pearson(皮尔逊)相关系数
  18. MVC多语言设置 实战简洁版
  19. poj-1239(递推关系)好难
  20. 浅谈JVM-图解类加载机制

热门文章

  1. 你真得懂Javascript中的==等于运算符吗?
  2. amazeui学习笔记--css(HTML元素3)--表单Form
  3. Windows 64位下 python3.4.3 安装numpy scipy
  4. Android 文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)
  5. PythonOOP面向对象编程2
  6. Loadrunner--web_find和web_reg_find的用法和区别
  7. SQL判断空值、nvl处理与JOIN的使用
  8. [React Intl] Render Content with Placeholders using react-intl FormattedMessage
  9. stm32的ADC左右对齐
  10. 《Springboot极简教程》问题解决:Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping for(转)