[Android 系统源代码研究] SystemService启动
2016-03-29 23:52
651 查看
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。
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。
相关文章推荐
- android ptl
- Android四大组件基本介绍及其生命周期
- Android实现推送方式解决方案
- listview中的radiobutton实现单选的两种方式而且可以控制另一控件button的是否可见
- Android第五周的学习笔记
- Android Volley完全解析(四),带你从源码的角度理解Volley
- android开发之后端云bmob的使用
- Android学习之GridView图片布局适配经验
- 自定义Android图片轮播控件
- Android Volley完全解析(一),初识Volley的基本用法
- Android studio 页面布局无法显示问题
- android-Ultra-Pull-To-Refresh
- Android主题更换简单实践
- java.lang.ClassCastException: android.widget.ListView 替换控件出错 如自定义mlistview继承listview
- android 上传图片到服务器
- Android:Material系列:ActionBar-->Toolbar
- 我的博客之第一篇
- Android——滚动视图(ScrollView)图片视图(ImageView)、状态开关按钮(ToggleButton)、时钟
- Android屏幕适配全攻略(最权威的官方适配指导)
- Android中ActionBar的使用