안드로이드는 커널 부팅후 /init 을 실행해 준다.
그 후 부터 home activity 가 뜰때까지의 과정을 분석해 보았다.

kernel boot
init.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() 에서는 안드로이드 프레임웍 자바단에서 쓰이는 모든 서비스가 실행 및 등록 된다.

'알짜정보 > Android' 카테고리의 다른 글

android 소스 다운로드 받기  (40) 2010.03.18
goldfish 커널 다운로드 및 컴파일 하기  (818) 2010.03.16
AlertDialog 와 Toast  (45) 2010.03.01
SharedPreferences  (1016) 2010.03.01
Activity 간의 통신  (121) 2010.02.25
by cranix 2010. 3. 12. 11:39
| 1 |