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 之间的交互。

  • 相关阅读:
    关于js中this的指向问题
    关于css垂直水平居中的几种方法
    个人第一个jquery插件(tips)
    css3实现虚拟三角形
    js-关于唯一ID的创建
    面试题
    new Promise()
    JSON.parse()、JSON.stringify()和eval()的作用
    vue-router路由导航
    NodeJS
  • 原文地址:https://www.cnblogs.com/wkmcyz/p/15782471.html
Copyright © 2011-2022 走看看