android 系统服务启动流程 速记
init =>
Zygote service =>
main() @ frameworks/base/cmds/app_process/app_main.cpp =>
startSystemServer() @ ZygoteInit.java =>
init1() @ SystemServer.java =>
JNI =>
android_server_SystemServer_init1() @ com_android_server_SystemServer.cpp =>
system_init() @ system_init.cpp =>
(start SurfaceFlinger, SensorService, AndroidRuntime)
com.android.server.SystemServer.init2() @ SystemServer.java =>
ServerThread.run() @ SystemServer.java
following services are started one after another:
EntropyService
ActivityManagerService
TelephonyRegistryPackageManagerServiceAccountManagerServiceActivityManagerServiceLightsServiceBatteryServiceVibratorServiceAlarmManagerServiceWindowManagerServiceBluetoothServiceBluetoothA2dpServiceInputMethodManagerServiceAccessibilityManagerServiceDevicePolicyManagerServiceStatusBarManagerServiceClipboardServiceNetworkManagementServiceTextServicesManagerServiceNetworkStatsServiceNetworkPolicyManagerServiceWifiP2pServiceWifiServiceConnectivityServiceThrottleServiceMountServiceNotificationManagerServiceDeviceStorageMonitorServiceLocationManagerServiceCountryDetectorServiceSearchManagerServiceDropBoxManagerServiceWallpaperManagerServiceAudioServiceDockObserverWiredAccessoryObserverUsbServiceUiModeManagerServiceBackupManagerServiceAppWidgetServiceRecognitionManagerServiceDiskStatsServiceSamplingProfilerServiceNetworkTimeUpdateService...