[Android 系统源代码研究] SystemService启动

SystemServer是由ZygoteInit Fork()出的第二个进程。

1. 在SystemServer.java里,首先会去创建SystemServer对象。


2. 在run里去实现相关的初始化工作。

  a.初始化系统时间

  b.设置默认语言系统

  c. 设置VMRuntime属性值和初始化VMRuntime相关设置 

 d. 创建System上下文createSystemContext


e. 创建SystemServiceManager对象mSystemServiceManager

f. 重要的服务启动


g. 启动什么服务呢,请继续看:

startBootstrapServices()启动mActivityManagerService,mPowerManagerService,LightsService,DisplayManagerService,mPackageManagerService,startSensorService()等。

startCoreServices()启动BatteryService,UsageStatsService,LocalServices,WebViewUpdateService等

startOtherServices()启动更多的其他重要度没有之前的高的服务。AccountManagerService,ContentService,VibratorService,IAlarmManager,IMountService,NetworkManagementService,NetworkStatsService,NetworkPolicyManagerService,ConnectivityService,NetworkScoreService,NsdService,WindowManagerService,UsbService,SerialService ,NetworkTimeUpdateService,CommonTimeManagementService,InputManagerService,TelephonyRegistry,ConsumerIrService,AudioService,MmsServiceBroker,EntropyMixer,CameraService,StatusBarManagerService,INotificationManager,InputMethodManagerService,WallpaperManagerService,LocationManagerService,CountryDetectorService,TextServicesManagerService,LockSettingsService,MediaRouterService,AssetAtlasService,LauncherAppsService,等等

h.然后告知某些服务,systemReady。






i. 然后启动SystemUiService, Watchdog,


最终进入Launcher。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值