前序

作者: momxmo | 来源:发表于2020-03-31 12:11 被阅读0次

1.系统服务 可以分为三种类型:

  • BootStrapServices 引导服务类型
  • CoreServices 核心服务类型
  • OtherServices 其他服务类型
    启动 系统服务:
    系统服务由SystemServer.java类启动,在该类的main主函数中会调用run()方法,run()方法首先实例化SystemServiceManager对象,再利用LocalService.addService()方法将这个管理器对象添加到LocalService中。
 // Create the system service manager.
mSystemServiceManager = new SystemServiceManager(mSystemContext);
LocalServices.addService(SystemServiceManager.class, mSystemServiceManager);

然后依次调用以下三个函数来启动各系统服务:

public final class SystemServer {
    ...
    public static void main(String[] args) {
        new SystemServer().run();
    }
    ...
    private void run() {
        ...
        Looper.prepareMainLooper();
        ...
        startBootstrapServices(); // 引导类服务
        startCoreServices(); // 核心类服务
        startOtherServices();// 其他类服务
        ...
        Looper.loop();
        ...
    }
    ...
}

具体是通过mSystemServiceManager的startService()方法来启动各服务,如AMS服务的启动:

mActivityManagerService = mSystemServiceManager.startService(
                ActivityManagerService.Lifecycle.class).getService();

1.2. BootStrapServices 引导服务

  • ActivityManagerService【管理整个框架中任务、进程管理, Intent解析等的核心实现,管理四大组建的生命周期】
  • PowerManagerService【电源管理服务】
  • LightsService【光感服务】
  • DisplayManagerService【展示管理服务】
  • PackageManagerService【包管理服务】
  • UserManagerService【用户管理服务】
  • SensorService【传感器服务】

1.3. CoreServices 核心服务

  • BatteryService【电池管理服务】
  • UsageStatsService【用户使用状态服务】
  • WebViewUpdateService【WebView更新服务】

1.4. OtherServices其他服务

  • SchedulingPolicyService【调度策略服务】基于Linux设置线程的调度策略和优先级。调度策略或优先级。
  • TelecomLoaderService【电信加载服务】
  • TelephonyRegistry【提供电话注册、管理服务,可以获取电话的链接状态、信号强度等等服务】
  • CameraService【相机服务】
  • AccountManagerService【账户管理服务,需先于- ContentService启动】
  • ContentService【内容服务,主要是数据库等提供解决方法的服务】
  • VibratorService【震动服务】
  • ConsumerIrService【远程控制服务,通过红外等控制周围的设备(例如电视等)】
  • AlarmManagerService【闹钟、定时器服务】
  • InputManagerService【处理分发事件,从- WindowManagerService独立出来的】
  • WindowManagerService【窗口管理服务】
  • BluetoothService【蓝牙服务】
  • InputMethodManagerService【输入法服务】
  • AccessibilityManagerService【辅助管理程序截获所有的用户输入,并根据这些输入给用户一些额外的反馈,起到辅助的效果,View的点击、焦点等事件分发管理服务】
  • MountService【磁盘加载服务程序,NotificationManagerService依赖这个服务】
  • UiModeManagerService【夜间模式和行车模式管理服务】
  • LockSettingsService【锁屏设置服务】
  • PersistentDataBlockService【永久数据存储分区服务】
  • DeviceIdleController【设备idle状态控制器】
  • DevicePolicyManagerService【设备策略管理服务】
  • StatusBarManagerService【状态栏管理服务】
  • ClipboardService【剪贴板服务】
  • NetworkManagementService【网络管理服务】
  • TextServicesManagerService【文本服务】
  • NetworkScoreService【android.net.NetworkScoreManager的备份服务】
  • NetworkStatsService【网络状态服务】
  • NetworkPolicyManagerService【网络策略管理服务】
  • WIFI_P2P_SERVICE【】
  • WIFI_SERVICE【】
  • WifiScanningService【】
  • RttService【】
  • ETHERNET_SERVICE【】
  • ConnectivityService【连接服务】
  • NsdService【网络服务搜索】
  • UPDATE_LOCK_SERVICE【】
  • NotificationManagerService【广播管理服务】
  • DeviceStorageMonitorService【设备存储模拟器服务】
  • LocationManagerService【GPS、定位等位置服务】
  • CountryDetectorService【检测所在国家服务】
  • SearchManagerService【搜素管理服务 】
  • DropBoxManagerService【系统运行时日志的存储与管理服务】
  • WallpaperManagerService【壁纸管理服务】
  • AudioService【音频服务】
  • DockObserver【管理座子的插入与拔出】
  • MidiManagerService【乐器数字接口管理服务】
  • UsbService【USB服务】
  • SerialService【串口设备服务】
  • TwilightService【夜间模式服务】
  • JobSchedulerService【工作调度服务】

2.系统服务如何为应用层提供服务

app应用通过context.getSystemService("service的注册名称")获取到对应Manager管理对象,这个对象最为服务的代理对象通过AIDL进程间通信,实现App调用系统Framework层的各种服务;
具体如下图:

image.png

相关文章

  • 二叉树的遍历

    前序遍历 采用递归 前序遍历采用迭代

  • 还原二叉树--已知先序中序或者后序中序

    首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 (...

  • 前序

    一:目标 1.了解微信平台产品的开发2.理解微信产品架构,为以后自己设计架构项目提供参考,如公众号平台的安全机制设...

  • 前序

    隽王六十三年,四位皇子随父远征大魏,凯旋而归,但四皇子不知所去,太子暂未定,隽王茶不思饭不想,自己平日最疼就是小儿...

  • 前序

    现在的我,样样高于他人,没人敢看不起我,他们对我对避而不见,但这不是我想要的,我想要的其实很简单 ...

  • 前序

    我是大学一年级的时候开始接触爬虫,其实是开始接触代码,听说过这个东西,也去网上扒拉过一些这类的代码。如今匆匆几年过...

  • 前序

    他不能在等了,他急急忙忙的踏上了火车,地点是那个让他朝思暮想但厌恶的地方,当然是想念这个地方的那个她。 他叫李哲,...

  • 前序

    本集讲述一个从婴儿时期开始便患有一种名叫“结节性硬化症”罕见疾病的女孩儿。 结节性硬化症(tuberous s...

  • 前序.

    “那些焦躁不安与嫉妒的情愫吞噬了我,我知道这个世界上不仅是我如此,但我却仍偏执的认为其他人都沐浴在爱之下;认为仅仅...

  • 前序

    这里是一个不可思议的地方…… “Hello,我回来了!”梳着单马尾的大约18岁的女孩子推开古朴的大门对着空旷...

网友评论

      本文标题:前序

      本文链接:https://www.haomeiwen.com/subject/gfkwuhtx.html