일반적인 자바 프로그램을 작성할 때는, 프로그램의 시작점인 main() 함수를 반드시 구현해야 한다.
이는 자바 가상 머신(JVM, Java Virtual Machine)이 자바 프로그램을 실행할 때, 프로그램의 시작점인 main() 함수를 찾아서 실행하기 때문이다.
안드로이드 앱에는 main()
함수가 존재하지 않는다.
즉, 안드로이드 App 프로세스의 메인스레드, entry point가 개발 코드상에는 가시적으로 보이지 않는다.
(중요)
main()
함수와 그 실행 코드는 안드로이드 프레임워크(Framework)에 이미 구현되어 있다.
안드로이드 프레임워크에서, main()
함수는 android.app.ActivityThread
클래스에 구현되어있다.
android.app.ActivityThread
의 main()
함수는 메인 UI 스레드(Main UI Thread)
를 실행해준다.