본문 바로가기
개발/Android

Activity(액티비티)

by Anti-fragilista 2021. 2. 2.

Activity란?

  • 화면 UI를 담당하는 컴포넌트
  • 액티비티 역할을 하기 위해서는 Activity 클래스를 상속해야 한다.
  • Activity의 생명주기 메소드를 재정의하여 원하는 기능을 구현

 

특징

  • 안드로이드 어플리케이션은 반드시 하나 이상의 Acitivity를 가지고 있어야 함
  • 두개의 Activity를 동시에 Display 할 수 없음
  • 다른 어플리케이션의 Activity를 불러 낼 수 있음
  • Acitivity 내에는 Fragment를 추가하여 화면을 분할시키 수 있음

 

Activity 상태 및 생명 주기

  1. onCreate()
    • 시스템이 Activity를 생성 할 때 실행, 구현시 Activity의 필수 구성요소를 초기화 해야 함
    • 예를 들어, 앱은 여기서 뷰를 생성하고 데이터를 목록에 결합해야 함
    • 이 콜백에서 setContentView()를 호출하여 Activity의 UI 레이아웃을 매핑시킴
    • 완료 시 Activity 상태 : Created
  2. onStart()
    • 액티비티 생성 후 화면에 전시되기 전에 호출(Stopped 상태에서 다시 전시 될 때에도 호출)
    • 완료 시 Activity 상태 : Started(visible)
  3. onResume()
    • Activity가 사용자와 상호작용을 시작하기 직전에 시스템에서 호출.(Activity 출력 후 Focus시 호출)
    • 이 시점에서 Activity는 스택의 맨 위에 있으며 모든 사용자 입력을 캡처함.
    • 앱의 핵심 기능은 대부분 onResume() 메서드로 구현
    • onPause() 콜백은 항상 onResume()뒤에 온다.
    • Pause 상태에서 다시 Focus시에도 호출
    • 완료 시 Activity 상태 : Resumed(Visible)
  4. onPause()
    • 다른 Activity가 Focus되어 현재 Activity가 Pause 상태가 될 때 호출
    • '뒤로가기'버튼 등 응답을 기다려야하는 특정 버튼을 클릭 시 발생
    • Activity가 부분적으로 표시되지만 대체로 사용자가 해당 Activity를 떠나고 있으며, 조만간 'Stopped' 또는 'Restarted'상태로 전환됨을 의미함
    • 사용자가 UI 업데이트를 기다리고 있다면 Puase상태의 Activity는 계속 UI를 업데이트 할 수 있음(Focus를 잃더라도 UI는 계속 업데이트 된다)
    • 완료 시 Activity 상태 : Pause
  5. onStop()
    • 기존 Activity가 다른 Activity에 의해 완전히 가려져 더이상 사용자에게 표시되지 않을 때 호출
    • Activity가 '제거 중'이거나, 새로운 Activity가 '시작 중'이거나 기존 Activity가 'Restarted' 상태로 전환 중이고 중지된 Activity를 다루고 있기 때문에 발생할 수 있음
    • 이 모든 상황에서 중지된 Activity는 더 이상 표시되지 않음
    • Activity가 사용자와 상호작용하기 위해 다시 시작 될 때 시스템은 onRestart()콜백을 호출하며, 이 Activity가 완전히 종료 될 시 onDestroy() 콜백 호출
    • 완료 시 Activity 상태 : Stopped
  6. onRestart()
    • Stopped 상태(다른 Activity에 의해 가려진 상태)에서 다시 화면에 출력 될 때 호출
    • Activity가 중지된 시간부터의 상태를 복원
    • 이 콜백 뒤에 항상 onStart()가 온다
    • 완료 시 Activity 상태 : Restarted
  7. onDestroy()
    • Activity가 제거되기 전 시스템에서 호출
    • Activity가 수신하는 마지막 콜백
    • 일반적으로 Activity 또는 Activity가 포함된 프로세스가 제거될 때 Activity의 모든 리소스를 해제하도록 구현됨
    • 완료 시 Activity 상태 : Stopped
  1.  

 

 

참고자료

developer.android.com/guide/components/activities/intro-activities?hl=ko

 

활동 소개  |  Android 개발자  |  Android Developers

활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페

developer.android.com

recipes4dev.tistory.com/67

 

안드로이드 액티비티. (Android Activity)

1. 안드로이드 앱 UI 표시. 일반적으로 안드로이드 시스템에서 앱이 실행되면, 전체 화면에 앱의 UI가 표시되고, 사용자가 입력한 화면 터치 또는 버튼 터치 등의 이벤트에 따라 앱의 기능이 수행

recipes4dev.tistory.com

 

 

'개발 > Android' 카테고리의 다른 글

매니페스트(AndroidManifest)  (0) 2021.02.01