android优化开机速度--之service

android/frameworks/base/services/java/com/android/server/SystemServer.java


之前理解的service都是在init.rc中解析启动的,明确有service字符,后来看到zygote孵化出System_Server进程,拉起AMS、PMS、WMS,了解到这几个大件也是service,是在代码SystemServer.java中启动,但没想到一些android的基本的service,如传感器、指南针、光感啥的也是在这个文件中启动的,真是有趣的代码。

在《Zygote进程【3】——SystemServer的诞生》一文中介绍了SystemServer的诞生,本文来看一下SystemServer中初始化的系统服务。

SystemProperties.getBoolean 获取 /system/build.prop 中属性

SystemProperties.get("persist.support.securetest").equals("1"))

1.AccountManagerService

Android账户服务,提供了对账户、密码、授权的集中管理。

2.AccessibilityManagerService

辅助管理程序截获所有的用户输入,并根据这些输入给用户一些额外的反馈,起到辅助的效果,View的点击、焦点等事件分发管理服。

3.ActivityManagerService

Android framework框架核心服务,管理整个框架中任务、进程管理, Intent解析等的核心实现,管理四大组建的生命周期。

4.AlarmManagerService

提供闹铃和定时器等功能。

5.AppWidgetService

Android中提供Widget的管理和相关服务

6.AssetAtlasService

负责将预加载的bitmap组装成纹理贴图,生成的纹理贴图可以被用来跨进程使用,以减少内存。

7.AudioService

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

8.BackupManagerService

备份服务。

9.BatteryService

负责监控电池的充电状态、电池电量、电压、温度等信息,当电池信息发生变化时,发生广播通知其他关系电池信息的进程和服务。

10.BluetoothManagerService

负责蓝牙后台管理和服务。

11.ClipboardService

剪贴板服务。

12.CommonTimeManagementService

管理本地常见的时间服务的配置,在网络配置变化时重新配置本地服务。

13.ConnectivityService

网络连接状态服务。

14.ContentService

内容服务,主要是数据库等提供解决方法的服务。

15.ConsumerIrService

远程控制,通过红外等控制周围的设备(例如电视等)

16.CountryDetectorService

检测用户国家

17.DevicePolicyManagerService

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

18.DiskStatsService

磁盘统计服务,供dumpsys使用

19.DisplayManagerService

用于管理全局显示生命周期,决定在已连接的物理设备如何配置逻辑显示,并且通知系统和应用状态的改变。

20.DreamManagerService

屏幕保护。

21.DropBoxManagerService

用于系统运行时日志的存储于管理。

22.IdleMaintenanceService

用于观察设备状态,在设备空闲时执行维护任务。将一些比较耗时的代价比较高的任务放到设备空闲时执行,这样保证用户的体验。

23.InputManagerService

以前在WindowManagerService中,现在独立了出来,用户处理事件分发。

24.InputMethodManagerService

输入法服务,打开和关闭输入法。

25.LightsService

光感应传感器服务。

26.LocationManagerService

位置服务,GPS、定位等。

27.LockSettingsService

和锁屏界面中的输入密码,手势等安全功能有关。可以保存每个user的相关锁屏信息。

28.WallpaperManagerService

壁纸管理服务。

29.MountService

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

30.NetworkManagementService

网络管理服务。ANDROID 系统网络连接和管理服务由四个系统服务ConnectivityService、NetworkPolicyManagerService、NetworkManagementService、NetworkStatsService共同配合完成网络连接和管理功能。ConnectivityService、NetworkPolicyManagerService、NetworkStatsService三个服务都通过INetworkManagementService接口跨进程访问NetworkManagementService服务,实现与网络接口的交互及信息读取。

31.NetworkPolicyManagerService

维护网络使用策略。

32.NetworkStatsService

网络统计相关。

33.NetworkTimeUpdateService

监视网络时间,当网络时间变化时更新本地时间。

34.NotificationManagerService

通知服务。

35.NsdService

网络服务搜索

36.PackageManagerService

Android framework框架核心服务,用于APK的解析、权限验证、安装等。

37.PrintManagerService

打印服务。

38.PowerManagerService

电源管理服务。

39.RecognitionManagerService

身份识别相关。

40.SamplingProfilerService

用于耗时统计等。

41.SearchManagerService

搜索服务。

42.SchedulingPolicyService

调度策略。

43.SerialService

对串口的设备进行操作

44.StatusBarManagerService

状态栏。

45.TelephonyRegistry

提供电话注册、管理服务,可以获取电话的链接状态、信号强度等等。

46.TextServicesManagerService

文本服务,例如文本检查等。

47.TwilightService

指出用户当前所在位置是否为晚上,被UiModeManager等用来调整夜间模式。

48.UiModeManagerService

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

49.UsbService

USB Host和device管理服务。

50.VibratorService

振动器服务。

51.WifiP2pService

Wifi Direct服务。

52.WifiService

Wifi服务。

53.WindowManagerService

Android framework框架核心服务,窗口管理服务。

54.WiredAccessoryManager

监视手机和底座上的耳机。

55.ConsumerIrService

客服定制的红外遥控

56.PersistentDataBlock

恢复出厂设置保护功能

57.StartDeviceIdleController

空闲状态控制

57.StartDevicePolicyManager
管理和操作设备,可以接管手机的应用权限
58.StartWifiRtt
wifi室内定位

59.StartWifiAware

Wi-Fi Aware设备就能够在连接建立之前就探测到兼容设备(比如智能手机)的存在

60.StartLowpan

无wifi 蓝牙的物联网android thing 低流量网络连接

61.StartEthernet

有线网络连接

62.ConnectivityService

网络连接服务

63.StartNsdService

用于在小范围的网络中发现邻近设备上的某个应用

64.UPDATE_LOCK_SERVICE


参考 https://blog.csdn.net/zhgxhuaa/article/details/24835065

猜你喜欢

转载自blog.csdn.net/touxiong/article/details/80533157
今日推荐