반응형
안드로이드 개발자 면접 때 나올만한 질문들을 정리해봤다.
면접 질문
- Android 4대 컴포넌트
- Activity
- 안드로이드에서 화면을 관리하고 사용자가 발생시키는 다양한 이벤트를 처리하는 컴포넌트
- Service
- 화면에 존재하지 않고 백그라운드에서 실행되는 컴포넌트
- Broadcast Receiver
- 특정 어플에서 발생하는 특정 브로드캐스트 메시지를 처리하는 컴포넌트
- Content Provider
- 앱 간 데이터 공유를 위한 클래스를 제공하는 컴포넌트
- Activity
- Android Manifest
- 모든 앱 프로젝트에 반드시 있는 파일이며 애플리케이션의 정보들을 가지고 있다.
- 앱에 대한 필수적인 정보를 안드로이드 빌드 툴과 Android OS, 그리고 구글 플레이에 제공한다
- Activity, Fragment의 차이점
- Activity는 독립적으로 활용할 수 있다.
- Fragment는 Activity에 종속되어 있다.
- Activity는 전체 화면을 차지하고, Fragment는 전체 화면이 아닌 일부 화면으로 구성할 수도 있기 때문에 상대적으로 유연한 UI 디자인이 가능하다.
- Activity는 자동적으로 Stack에 넣어지고, Fragment는 Transaction을 통해서 요청해야 한다.
- Activity Life Cycle
- onCreate() : Activity 가 생성되면 가장 먼저 호출되는 callback 함수
- onStart() : Activity 가 사용자에게 보이기 직전에 호출되는 callback 함수
- onResume() :
- 사용자가 응용프로그램과 상호 작용을 할 수 있는 상태에 호출되는 함수
- 사용자가 응용프로그램을 사용할 수 있는 상태를 의미
- onPause() :
- Activity 가 중지된 상태로 사용자로부터 어떠한 입력도 받을 수 없고 어떤 코드도 실행할 수 없는 상태
- 다른 Activity 가 실행되어 Activity Stack의 최상단으로 올라가는 경우 호출
- onStop() : Activity 가 더 이상 보이지 않는 경우 호출
- onRestart() : Activity 가 onStop() 이 호출된 이후에 재시작되는 경우 호출되는 함수
- onDestroy() : 시스템이 Activity를 종료하기 직전에 호출되는 callback 함수
- Fragment Life Cycle
- onAttach() : 이름처럼 액티비티에 프래그먼트가 attach 할 때 호출됩니다.
- onCreate() :
- 프래그먼트를 생성할 때, 시스템에서 호출됩니다.
- Fragment View가 생성되지 않아서 Fragment의 View작업을 하기 적절하지 않습니다.
- onCreateView() : 프래그먼트에서 UI를 그릴 때 호출됩니다.
- onViewCreated() : onCreateView()를 통해 반환된 View는, onViewCreated()의 파라미터로 전달되는데, 이 시점부터 Fragment View의 라이프사이클이 INITIALIZED 된다.
- onStart() : 이제 Fragment가 사용자에게 보일 수 있을 때 호출됩니다. Activity의 onStart()와 유사합니다.
- onResume() :
- Fragment의 모든 애니메이션과 Transition 효과가 종료되고, 프래그먼트가 사용자와 상호작용이 가능할 때, onResume()이 호출됩니다.
- 이제 사용자와 프래그먼트가 상호작용할 준비가 되었다는 뜻인데, 반대로 말하면 onResume()이 실행되기 전에 사용자와 인터렉션 하는 것은 부적절합니다.
- onPause() : 시스템이 사용자가 프래그먼트를 떠나는 것을 감지하는 것입니다.
- onStop(), onSaveInstanceState() : 프래그먼트가 화면에 보이지 않을 때가 되면 onStop()이 호출됩니다.
- API28 버전을 전후로
- 전 : onSaveInstanceState() -> onStop()
- 후 : onStop() -> onSaveInstanceState()
- API28 버전을 전후로
- onDestroyView() :
- Fragment가 화면으로 벗어나면 onDestroyView()가 실행됩니다.
- 해당 시점부터는 Fragment View에 대한 모든 참조가 제거돼야 합니다.
- onDestroy()
- Fragment가 제거되면 호출됩니다.
728x90
반응형
'개발 > Android' 카테고리의 다른 글
[Android] 앱내 언어 설정 (0) | 2022.09.01 |
---|---|
[Android] getContext와 requireContext 차이점 (0) | 2022.08.30 |
[Android] Manifest merger failed : Attribute application@usesCleartextTraffic value=(true) (0) | 2022.08.14 |
[Android] Failed to compile values file. 해결 (0) | 2022.08.13 |
[Android] Error: android:exported needs to be explicitly specified for element (0) | 2022.08.12 |
댓글