main()--->new SystemServer.run()

run方法:

1、矫正时间

2、启动性能分析SamplingProfilerIntegration,开机后一小时执行一次

3、设置参数:获取更多内存,确保SystemServer一直有效,定义手势属性,设置UserRequired为true,确保binder的优先执行,准备Looper

4、加载android_servers库,并初始化nativeInit()

5、检查上次是否意外关机

6、初始化SystemContext

7、初始化类SystemServiceManager(用来启动服务),并将其对象加到LocalServices中

8、启动引导服务startBootstrapServices(),包括安装器、MessageMonitorService,ActivityManagerService,PowerManagerService,DisplayManagerService,RecoveryManagerService,PackageManagerService,UserManagerService,初始化AttributeCache(维护了一个Package的弱HashMap)

启动核心服务startCoreServices(),包括LightsService,BatteryService,UsageStatsService,WebViewUpdateService

启动其他服务startOtherServices(),包括启动SystemUIService,AccountManagerService,ContentService,VibratorService,MountService(USB挂载),NetworkManagementService,NetworkStatsService,NetworkPolicyManagerService,ConnectivityService,NetworkScoreService,NsdService,WindowManagerService,BluetoothManagerService,UsbService,SerialService,NetworkTimeUpdateService,CommonTimeManagementService,InputManagerService,TelephonyRegistry,ConsumerIrService,AudioService,MmsServiceBroker,StatusBarManagerService,INotificationManager,InputMethodManagerService,WallpaperManagerService,LocationManagerService,CountryDetectorService,TextServicesManagerService,LockSettingsService,PerfMgrStateNotifier,IPerfServiceManager,AssetAtlasService,MediaRouterService等,还有很多,通过SystemServiceManager.startService启动的都是。

更多相关文章

  1. 【Android】Activity_习题
  2. Android应用启动优化:一种DelayLoad的实现和原理
  3. Android(安卓)Camera2 Hal3(一)初始化
  4. Android(安卓)Framework初步认识
  5. android Application Component研究之Activity(一)
  6. activity的四个启动模式
  7. Android(安卓)unbindservice异常相关问题
  8. android persistent属性研究
  9. ActivityManagerService启动流程详解

随机推荐

  1. 为Android加入busybox工具
  2. Android(安卓)Sqlite 数据库—基础篇
  3. [置顶] Mc小冰总结的Android开发工程师面
  4. Android中Shape 和 Selector的用法
  5. Ubuntu Android开发环境配置
  6. Android自定义属性时TypedArray的使用方
  7. Android(安卓)L新控件RecyclerView简介
  8. Android微件(续)
  9. 详解 Android(安卓)的 Activity 组件
  10. 《Android构建MVVM》系列(一) 之 MVVM架