zoukankan      html  css  js  c++  java
  • [灌水] 简单聊下 SystemServer 都干了些什么

    [灌水] 简单聊下 SystemServer 都干了些什么

    system_server 进程作为 Android 的操作系统基础能力提供者,其本身启动的时候需要进行一些处理才能保证 Android 系统的完整运行。本文简单灌水式说明一下 system_server 初始化的时候执行的操作,总共分为三个部分。

    第一步:创建 system_server 进程必须的辅助对象、上下文环境等。

    例如通过 ActivityThread 创建 context / Application / Instrumentation

    第二步:初始化上下文信息,初始化必备的辅助对象。

    1. 设置系统信息 (这部分信息会被各种 service 使用)
      1. 整体的 重启信息、启动时间 等相关信息
      2. 设备默认 区域、语言、城市 等信息
    2. 设置工具类信息 (这部分设置会影响各个 service )
      1. 设置 Environment 、 Binder 、Parcel 等的基本属性
    3. 初始化一个 serviceManager 对象,用于管理下面要打开的其他 service

    第三步:启动其他的 services

    这部分的 service 总共分为三类,bootstrp(鞋带,表示这是第一步) 、核心 service 以及其他的杂项功能。分别简单描述如下:

    1. bootstrapService

      1. system-设备 一侧 相关的: WatchDog / Recovery / PowerManagerService / PackageManagerService /
      2. 其他app - 平台 一侧相关的:AMS
      3. 这些 service 之间互相关系的初始化(加入到 watchDog 等)
    2. coreService

      1. 一些系统状况监测服务,例如 BatteryService / binder stats / looper stats
    3. otherService 杂项 service

      1. 设备硬件服务 : 传感器 、vr / inputManager /
      2. 系统软件服务 : accountManager / 升级 、backup / 设备时间、时区、国家、位置 / 搜索
      3. 外设 : 打印机 、 HDMI 、 TV 、 媒体源 、 TV-remote 、
      4. 系统桌面 : 快捷方式 、 launcher 、 壁纸
      5. 代码处理 : adb 、
      6. 手表⌚️处理 :
      7. APP 功能 : 粘贴板 、 NotificationManager 、
      8. 安全 & 识别 : 脸部识别 、虹膜 、 指纹 、 声音识别 、摄像头前的手势处理
      9. 蓝牙网络 :蓝牙 / 网络检测、适配、状态监控 / wifiAware / wifi-rtt / wifip2p / ethernet / connectivity /
      10. WMS

      最后会初始化各个 service 之间的交互。

  • 相关阅读:
    LeetCode 224. 基本计算器 栈 双指针
    LeetCode 150. 逆波兰表达式求值 栈
    LeetCode 387. 字符串中的第一个唯一字符 哈希
    LeetCode 316. 去除重复字母 栈 哈希
    LeetCode 44. 通配符匹配 dp
    禁止屏幕旋转并同时解决以至于导致Activity重启的方法
    让振动器振动起来——Vibrator的使用
    简单的JDBC封装
    js jquery ajax 清除ie下的缓存问题
    angular.js 下拉框选中 根据后台返回值
  • 原文地址:https://www.cnblogs.com/wkmcyz/p/15782471.html
Copyright © 2011-2022 走看看