当前位置: 首页 > news >正文

Android ServiceManager

1.ServiceManager

ServiceManager在init进程启动后启动,用来管理系统中的Service。

一般开机过程分为三个阶段:

①OS级别,由bootloader载入linux内核后,内核开始初始化,并载入built-in的驱动程序,内核完成开机后,载入init process,切换至user-space后,结束内核的循序过程,进入排成模式。

②Android-level,由init process开始,读取init.rc,Native服务启动,并启动重要的外部程序,例如servicemanager、zygote以及system service。

③Zygote-Mode,Zygote启动完System Service后,进入Zygote Mode,在Socket等候命令,随后,使用者将看到一个桌面环境,桌面环境由一个名为Launcher的应用程序负责提供。

ServiceManager是Binder进程间通信机制的核心组件之一,它扮演着Binder进程间通信机制上下文管理者的角色,同时负责管理系统中的Service组件,并且向Client组件提供获取Service代理对象的服务。

ServiceManager运行在一个独立的进程中,因此Service组件和Client组件也需要通过进程间通信机制来和它进行交互,而采用的进程间通信机制也是Binder机制。这样看来ServiceManager除了是Binder进程间通信机制的上下文管理者外,还是一个特殊的Service组件。

进程间通信示意图:

http://www.lryc.cn/news/16431.html

相关文章:

  • 数据挖掘,计算机网络、操作系统刷题笔记53
  • 地球板块运动vr交互模拟体验教学提高学生的学习兴趣
  • 【Android玩机】跟大家聊聊面具Magisk的使用(安装、隐藏)
  • DACS: Domain Adaptation via Cross-domain Mixed Sampling 学习笔记
  • python并发编程(并发与并行,同步和异步,阻塞与非阻塞)
  • 【项目】DTO、VO以及PO之间的关系和区别
  • Nginx介绍
  • 你什么档次?敢和我用一样的即时通讯平台WorkPlus?
  • 学习资源 - 深度学习
  • C语言数据结构初阶(1)----时空复杂度
  • vscode SSH 保存密码自动登录服务器
  • VR全景多种玩法打破传统宣传,打造全新云端视界
  • Git 教程
  • 一种全新的图像滤波理论的实验(二)
  • Boost库文档搜索引擎
  • Linux中安装JDK
  • 宝塔面板公网ip非80端口非443端口部署ssl
  • 手撕八大排序(上)
  • clickhouse 怎么统计每天0点到10点的某个字段的数据量
  • [qiankun]-图片加载问题
  • 关于upstream的八种回调方法
  • 0303泰勒公式-微分中值定理与导数的应用
  • 日常运维基础命令
  • 人员行为识别系统 TensorFlow
  • ES-倒排索引BKD原理skiplist
  • 每天一道大厂SQL题【Day12】微众银行真题实战(二)
  • 带您了解TiDB MySQL数据库中关于日期、时间的坑
  • 【华为OD机试模拟题】用 C++ 实现 - 求字符串中所有整数的最小和
  • harbor 仓库迁移升级
  • 评论功能设计思路~