零碎笔记之ServiceManager
2024-08-30 04:46:35
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函数回调处理请求。
最新文章
- Unity3D-ScrollRect 各参数的代码引用以及作用
- cassandra-执行请求入口函数
- SyteLine实现字段过滤
- golang:interface{}类型测试
- asp.net 文件操作小例子(创建文件夹,读,写,删)
- [MarsZ]程序猿谈大学之工作三年半的程序猿给大学童鞋的一些注释
- hadoop错误INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- Deepin 15.3 下罗技蓝牙键盘连接
- zend framework 配置连接数据库
- 如何删除Windows10操作系统资源管理器中的下载、图片、音乐、文档、视频、桌面、3D对象这7个文件夹
- 【原创】Python第二章——字符串
- linux下如何使用gdb调试
- Python 函数 (关键字参数)
- jquey 小记
- Tomcat+Nginx+Redis+MySQL实现反向代理、负载均衡、session共享
- 将批量指定的docker镜像打成文件
- Pearson(皮尔逊)相关系数
- MVC多语言设置 实战简洁版
- poj-1239(递推关系)好难
- 浅谈JVM-图解类加载机制
热门文章
- 你真得懂Javascript中的==等于运算符吗?
- amazeui学习笔记--css(HTML元素3)--表单Form
- Windows 64位下 python3.4.3 安装numpy scipy
- Android 文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)
- PythonOOP面向对象编程2
- Loadrunner--web_find和web_reg_find的用法和区别
- SQL判断空值、nvl处理与JOIN的使用
- [React Intl] Render Content with Placeholders using react-intl FormattedMessage
- stm32的ADC左右对齐
- 《Springboot极简教程》问题解决:Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping for(转)