안드로이드 4대 컴포넌트 & 액티비티 생명주기
안드로이드 4대 컴포넌트
1. Activity (액티비티)
- 액티비티는 사용자 인터페이스를 포함한 화면 하나를 나타낸다. 예를 들어 이메일 앱이라면 목록을 표시하는 액티비티가 하나 있고, 이메일을 작성하는 액티비티가 또 하나가 존재한다. 이렇듯 액티비티는 시스템과 앱의 주요 상호작용을 돕는다.
2. Service (서비스)
- 서비스는 백그라운드에서 실행되는 구성 요소로, 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행한다. 예를 들어 서비스는 사용자가 다른 일을 하는 동안에 백그라운드에서 음악을 재생하거나, 데이터를 가져온다.
3. Broadcast Receiver (브로드캐스트 수신자)
- 브로드캐스트 수신자는 시스템이 정기적인 사용자 플로우 밖에서 이벤트를 앱에 전달하도록 지원하는 구성 요소이다. 말이 조금 어려운데 안드로이드 시스템이나 다른 앱으로부터 전송되는 브로드캐스트 메시지를 수신하는 구성 요소이다. 예를 들면 배터리 부족 경고, SMS 수진 등의 이벤트를 감지하고 처리하는 기능을 한다.
4. Content Provider (콘텐츠 제공자)
- 콘텐츠 제공자는 파일 시스템, 데이터베이스, 웹상이나 앱이 액세스할 수 있는 다른 모든 영구 저장 위치에 저장 가능한 앱 데이터의 공유형 집합을 관리한다. 다른 앱은 콘텐츠 제공자를 통해 해당 데이터를 쿼리하거나, 콘텐츠 제공자가 허용할 경우에는 수정도 가능하다.
액티비티 생명주기
- Activity가 생성, 정지, 재생, 종료 등 여러 상태 간의 전환을 위해 6가지 콜백으로 구성된 핵심세트를 제공
- Activty 간 새로운 상태에 들어가면 시스템은 각 콜백을 호출
콜백(callback)
- A가 어떤 특정한 동작을 한다면 A가 B에게 알려 주는 것을 의미
Activity의 생명주기가 필요한 이유
- Activity의 Life Cycle을 사용하면 적시에 알맞은 작업을 하고 적절하게 전환하여 App이 더욱 안정적으로 기능할 수 있게 기여 가능
- 아래와 같은 문제 예방
- 사용자가 앱을 사용하는 도중에 전화가 걸려오거나 다른 앱으로 전환할 때 비정상 종료되는 문제
- 사용자가 앱을 활발하게 사용하지 않는 경우 귀중한 시스템 리소스가 소비되는 문제
- 사용자가 앱에서 나갔다가 나중에 돌아왔을 때 사용자의 진행 상태가 저장되지 않는 문제
- 화면이 가로 방향과 세로 방향 간에 회전할 경우, 비정상 종료되거나 사용자의 진행 상태가 저장되지 않는 문제
액티비티 생명주기 구성도

댓글남기기