안드로이드 개발자가 기술 면접을 보는 경우에 나올 수 있는 질문들을 학습 및 정리 하는 글입니다
이해한 정보들을 간략하게 정리 해놓은 글이기 때문에 더 깊게 알고 싶으신 분들은 따로 검색을 하셔서 찾아 보시는걸 추천 드립니다!
Q. 안드로이드 4대 컴포넌트(구성요소)에 대해 설명 해보세요
A. 안드로이드를 구성하는 4대 컴포넌트로는 액티비티, 서비스, 브로드캐스트 리시버, 콘텐트 프로바이더가 있다
Q. 액티비티의 생명주기(Activity lifeCycle)에 대해 설명 해보세요
A. 액티비티의 생명주기는 onCreate, onStart, onResume, onPause, onStop, onRestart, onDestory가 있다
액티비티 실행시 onCreate -> onStart -> onResume 순서로 실행 된다
포커스를 잃게 되는 경우 onPause가 실행 되고 다시 포커스가 돌아오면 onResume이 실행된다
화면이 아예 가려지는 경우 먼저 포커스를 잃기 때문에 onPause가 실행 되고 그 후 onStop이 실행 된다 다시 화면으로 돌아 오는 경우 onRestart -> onStart -> onResume 순으로 실행 된다
사용자가 앱을 종료하는 경우 onPause -> onStop -> onDestory가 실행 되며 종료 된다
onCreate : 액티비티가 실행 되면 처음 실행 되며 보통 UI 및 데이터 초기화 작업을 여기서 실행한다
onStart : 사용자에게 화면이 보이는 시점에 실행 된다
onResume : 사용자와 상호 작용이 가능한 경우에 실행 된다
onPause : 투명한 액티비티 등을 통해 포커스를 잃는 경우에 실행된다 (그냥 보이기에 투명 액티비티가 아닌 android:windowIsTranslucent 속성을 통해 투명한 액티비티로 지정한 경우에 가능하다 )
onStop : 화면이 아예 가려진 경우에 호출 되며 홈버튼을 누르거나 전화가 와서 화면이 가려진 경우도 이 경우에 해당 된다
onRestart : 처음 액티비티가 실행 될때는 실행 되지 않고 onStop 상태에서 다시 화면으로 돌아 오는 경우에 실행 된다
onDestory : 사용자 액션에 의해 앱이 종료 되는 경우에 실행 된다