안드로이드는 커널 부팅후 /init 을 실행해 준다.
그 후 부터 home activity 가 뜰때까지의 과정을 분석해 보았다.
kernel bootinit.c:main() - init process 실행
app_main.cpp:main() - zygote service 실행
AndroidRuntime.cpp:start() - java VM 실행 ZygoteInit.java:main()
SystemServer.java:main()
system_init.cpp:system_init()
SystemServer.java:init2()
ServerThread.run() ActivityManagerService.java:startRunning()
systemReady() resumeTopActivityLocked() startHomeActivityLocked() startActivityLocked()
|
- system_init.cpp 의 main() 에서는 SurfaceFlinger, AudioFlinger, MediaPlayerService, CameraService, AudioPolicyService 등 C++ 과 연동되어진 서비스들이 실행된다.
- SystemServer.java:ServerThread.run() 에서는 안드로이드 프레임웍 자바단에서 쓰이는 모든 서비스가 실행 및 등록 된다.
RECENT COMMENT