0. 최초 앱 실행
0. 최초 앱 실행
이 글의 내용은 틀릴 수도 있고
이 내용을 몰라도 평생
안드로이드 프로그래밍을 하는데
어려움이 없을 가능성이 높습니다.
이건 과연 도움이 될까?
매일매일 새로운것을
공부할때면 새 프로젝트를
생성해서 실행시키곤 한다.
프로젝트 생성시 보이는 첫 화면
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
매일 매일 보던 코드였는데
어느 날 문뜩
내부적으로 onCreate에 들어오기전에는
어떤작업이 이루어 지는지 궁금해졌다.
그래서 안드로이드 빌드과정에
대해 검색도 해보고 많은 글도 읽어보았다.
뭐 aapt, Compiler, aidl, dex등등 많은
자료들이 나왔다.
그런데
하나하나씩 전부 보기에는
너무 과하다는 느낌이 들어서
그냥
Activity가 실행되어 코드가 읽히기
시작하는 부분부터 onCreate() 메서드를
타기전까지 어떤 과정이 이뤄지는지만
보기로 했다.
뭐 방법은 아주 간단했다.
단순무식하게
Activity에 존재하는 메서드들을
전부 오버라이드 했다.
그 다음 각 메서드마다
로그를 달았다.
그 다음 앱을 실행시켜서
로그가 찍힌 순서대로
나열하고, 메서드 하나하나
공부하기 시작했다.
가장 첫번째 호출되는 메서드는
public Object getSystemService(String name)
이다.
물론
이 메서드 전에 기본생성자인
public MainActivity(){
}
에 먼저 들어온다.