Android System_Services 简介

Android System_Services

    Android系统服务分为Native Services和 Java Services。

Native Services

    Native Services进程也是在init.rc中启动的,它不是一个daemon进程,这点容易搞混。他也是和SystemServices进程类似的系统服务进程,提供应用进程的RPC调用的真正服务代码所运行的位置。其服务都是和媒体录播放有关。

Ø SurfaceFlinger

    SurfaceFlinger服务负责绘制Android应用程序的UI,Android应用程序为了能够将自己的UI绘制在系统的帧缓冲区上,它们就必须要SurfaceFlinger服务进行通信。

Ø AudioFlinger 

    AudioFlinger向下访问AudioHardware,实现输出音频数据,控制音频参数。同时,AudioFlinger向上通过IAudioFinger接口提供服务。所以,AudioFlinger在Android的音频系统框架中起着承上启下的作用。声音的录播放服务,包括混音等 。

Ø MediaPlayerService 

    提供媒体播放服务,opencore是这块的核心模块,对java端的接口为MediaPlayer.java

Ø CameraService

    Camera 服务,用于Camera 的录制,拍照等功能服务。 

Ø AudioPolicyService 

JAVA应用层通过JNI,经由IAudioPolicyService接口,访问AudioPolicyService提供的服务。输入输出设备的连接状态。系统的音频策略(strategy)的切换。音量/音频参数的设置。

Ø SensorService

传感器服务

Ø DrmManagerService

    DRM,英文全称Digital Rights Management, 可以翻译为:数字版权管理。指的是出版者用来控制被保护对象的使用权的一些技术,这些技术保护的有数字化内容(例如:软件、音乐、电影)以及硬件,处理数字化产品的某个实例的使用限制

 Java Services

Java 服务,这部分的服务大部分都有一个供应用进程使用的manager类,这就是一个RPC调用,用户通过调用xxxManager的方法,实际上被Binder给迁移到system_server进程中对应的xxxManagerService中对应的方法,并将结果再通过binder带回。 

Ø EntropyService (EntropyMixer)
    熵服务,周期性的加载和保存随机信息。主要是linux开机后,/dev/random的状态可能是可预知的,这样一些需要随机信息的应用程序就可能会有问题。这个无需提供应用程序接口。 

Ø PowerManagerService –> PowerManager 
       PowerManagerService服务是Android系统的上层的电源管理服务,主要负责系统待机、屏幕背光、按键背光、键盘背光以及用户事件的处理。通过锁的申请与释放以及默认的待机时间来控制系统的待机状态;通过系统默认灭屏时间以及用户操作的事件状态控制背光亮、暗。该服务还包括了光线、距离传感器上层查询与控制,LCD亮度的调节最终也是由该服务完成。 

Ø  ActivityManagerService->ActivityManager 
    这个是整个Android framework框架中最为核心的一个服务,管理整个框架中任务、进程管理, Intent解析等的核心实现。虽然名为Activity的Manager Service,但它管辖的范围,不只是Activity,还有其他三大组件,和它们所在的进程。也就是说用户应用程序的生命管理,都是由他负责的。 

Ø TelephonyRegistry->TelephonyManager 
    电话注册、管理服务模块,可以获取电话的链接状态、信号强度等等。

Ø PackageManagerService -> PackageManager 
    包括对软件包的解包,验证,安装以及升级等等,对于我们现在不能安装.so文件的问题,应该先从这块着手分析原因。 对安装包进行管理,可以执行安装、卸载、激活、去活、查看包权限等操作。

Ø AccountManagerService -> AccountManager 
google账户服务 。

Ø ContentService -> ContentResolver 
    内容服务,主要是数据库等提供解决方法的服务。ContentService 是Android平台中数据更新通知的管理者,是数据同步服务的管理中枢,当操作Android手机中的联系人信息、通话记录等信息同步时,就可以通过它来完成。Android系统默认添加了同步监听。

 

Ø HardwareService (android4.3 没有该服务)
一般是ring(响铃)和vibrate(震动)的服务程序 。

Ø WindowManagerService -> WindowManager -> PhoneWindowManager 
    和ActivityManagerService高度粘合 窗口管理,这里最核心的就是输入事件的分发和管理。 这是Android的UI框架最重要的部分。窗口类型包括Activity、Dialog、PopupWindow等。实际的控制通过WindowToken进行。

Ø AlarmManagerService -> AlarmManager
闹钟服务程序。定时器管理服务,提供定时提醒服务

Ø BluetoothManagerService

蓝牙的后台管理和服务程序。

Ø ClipboardService -> ClipboardManager 
和其他系统的clipBoard服务类似,提供复制黏贴功过。 

Ø InputMethodManagerService -> InputMethodManager 
输入法的管理服务程序,包括何时使能输入法,切换输入法等等。 

Ø AccessibilityManagerService-> AccessibilityManager 
    主要是一些View获得点击、焦点、文字改变等事件的分发管理,对整个系统的调试、问题定位等,辅助管理程序截获所有的用户输入。 

Ø NotificationManagerService -> NotificationManager (android4.3 没有该服务)
    负责管理和通知后台事件的发生等,这个和statusbar胶黏在一起,一般会在statusbar上添加响应图标。用户可以通过这知道系统后台发生了什么事情。 

Ø MountService 
    磁盘加载服务程序,一般要和一个linux daemon程序如vold/mountd等合作起作用,主要负责监听并广播device的mount/unmount/bad removal等等事件。 

Ø DeviceStorageMonitorService 

    监控磁盘空间的服务,当磁盘空间不足10%的时候会给用户警告。

Ø LocationManagerService -> LocationManager 
要加入GPS服务等,这部分要细看,现在应用中的navigation没响应,可以从此处着手看一下 。

Ø SearchManagerService -> SearchManager 
搜寻服务。

Ø WallpaperManagerService -> WallpaperManager

    管理桌面背景的服务,深度定制化桌面系统。

Ø AudioService -> AudioManager 
AudioFlinger的上层管理封装,主要是音量、音效、声道及铃声等的管理。

Ø HeadsetObserver (android4.3 没有该服务)
耳机插拔事件的监控小循环

Ø DockObserver 
Dock 观察器。

Ø BackupManagerService -> BackupManager 
备份服务。

Ø AppWidgetService -> AppWidgetManager 
Android可以让用户写的程序以widget的方式放在桌面上,这就是这套管理和服务的口。 

Ø StatusBarPolicy (android4.3 没有该服务)
管理哪个图标该在status bar上显示的策略。 

Ø LightsService  

灯光的闪烁。lights调节有背光,键盘,按键,电池,通知,提醒,蓝牙和WIFI。主要包括LCD背光、按钮背光、键盘灯等自然光强度感应传感器服务

Ø DisplayManagerService

Android从版本4.2开始提供了一个显示管理服务DisplayManagerService,支持多种显示类型的多个显示器的镜像显示,包括内建的显示类型(本地)、HDMI显示类型以及支持WIFI Display 协议( MIRACAST),实现本地设备在远程显示器上的镜像显示。

Ø BatteryService

电池的信息,电压,温度,充电状态等等,都是由BatteryService来提供的。BatteryService是跑在system_process当中,在系统初始化的时候启动。

Ø VibratorService

VibratorService 提供系统震动功能。

Ø NetworkManagementService

网络管理服务。NetworkManagementService提供对物理网络接口的管理服务。

Ø NetworkStatsService

NetworkStatsService提供网络传输数据统计服务,网络状态服务。

Ø NetworkPolicyManagerService

    NetworkPolicyManagerService提供网络策略管理服务。

Ø ConnectivityService -> ConnectivityManager 
    网络连接状态服务,可供其他应用查询,当网络状态变化时,也可广播改变。   ConnectivityService提供数据连接管理服务。

Ø WifiP2pService

为WIFI—P2P 提供服务功能。

Ø WifiService

提供对android Wifi管理服务。

Ø NsdService

基于苹果的Bonjour服务发现协议,支持远程服务的发现和零配置。

Ø RegulatoryObserver

不清楚是不是服务。

Ø UsbService

USB 服务。

Ø SerialService

    可支持对串口的设备进行操作。

Ø TwilightService 

跟位置、时间有关的。

Ø UiModeManagerService

管理当前Android设备的夜间模式和行车模式。

Ø RecognitionManagerService

身份识别服务。

Ø ThrottleService

网络节流阀控制,避免数据过大或过小情况下不必要的重复连接和断开

Ø NetworkTimeUpdateService

网络更新服务。

Ø CommonTimeManagementService

manages the configuration of the native Common Time service.

Ø InputManagerService

输入事件管理服务

Ø Installer  

程序安装

Ø DreamManagerService

提供ScreenSaver,及屏保功能

Ø UpdateLockService

提供升级锁。

Ø LockSettingsService

锁屏界面中的输入密码,手势等安全功能有关。

Ø CountryDetectorService

检查当前用户所在的国家

Ø StatusBarManagerService

状态栏管理服务

Ø DevicePolicyManagerService

提供一些系统级别的设置及属性

Ø TextServicesManagerService

文本服务管理。

Ø MSimTelephonyRegistry

    Since phone process can be restarted, this class provides a centralized place

that applications can register and be called back from.

Ø SchedulingPolicyService

   用于控制媒体相关进程调度策略的调整。注意是调度策略,而不是优先级。

Ø UserManagerService

   对于系统应用,UserManager提供了创建/删除/擦除用户、用户信息获取、用户句柄获取等用户操作的接口。均由远程调用UserManagerService服务的对应方法实现。

Ø DropBoxManagerService(DBMS)

用于生成和管理系统运行时的一些日志文件。这些日志文件大多记录的是系统或某个应用程序出错时的信息

Ø DiskStatsService、DeviceStroageMonitorService

与系统内部存储管理、监控有关。用于查看和监测系统存储空间。

Ø SamplingProfilerService

对进程进行性能分析。

Ø IdleMaintenanceService

    维护任务服务。


    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值