reference other blog,
SystemServer.java::main:
a.load android_servers library
b.call init1-->system_init.cpp::system_init
system_init.cpp::system_init
a.start SurfaceFlinger
[b.start AudioFlinger,MediaPlayerService,CameraService]
c.AndroidRuntime->callStatic("com/android/server/SystemServer", "init2");
d.ProcessState::self()->startThreadPool();
e.IPCThreadState::self()->joinThreadPool();
SystemServer.java::init2 start ServerThread:
a.Starting Power Manager
b.Starting Activity Manager. ActivityManagerService.main(factoryTest)
c.Starting telephony registry
d.Starting Package Manager PackageManagerService.main
e.ActivityManagerService.setSystemProcess():add activity,meminfo,cpuinfo,activity.broast,activity.service,activity.senders,activity.providers,permission services
f.Starting Content Manager ContentService.main
g.Starting System Content Providers
h.Starting Battery Service
i.Starting Hardware Service
j.nitialize the power service
k.Starting Alarm Manager
l.Starting Led Manager
m.Starting Sensor Service
n.Starting Window Manager
o.Bluetooth Servic
p.Starting Status Bar Service
q.Starting Clipboard Service
r.Starting Input Method Service
s.Starting NetStat Service
t.Starting Connectivity Service
u.Starting Notification Manager
v.Starting Mount Service
w.Starting DeviceStorageMonitor service
x.Starting Location Manager
z.Starting Search Service
Starting Checkin Service
Starting Wallpaper Service
Starting Audio Service
Starting AppWidget Service