본문 바로가기
PROGRAMMING CODE/ANDROID STUDIO

[Android Studio] Activity 생명주기

by daye_ 2021. 12. 5.

 

 

Activity는 화면 전환 시 stack구조로 쌓아진다.

사용자와 상호작용을하여 뷰에대한 액션을 취하고 UI를 보여줌

 

 

 

 

 

 

ㅊㅊ:  android developers

 

 

 

1. onCreate() - Activity 생성, 화면 정의

* Activity의 생명 주기에서 생성 단계에 단 한번 실행되는 메소드

* savedInstanceState라는 파라메터를 받아온다. 이 파라메터는 Activity의 이전 상태를 저장해 둔 'Bundle'객체이다.

* 첫 생성시 savedInstanceState = null

* 레이아웃을 전달하여 화면 정의

 

 

2. onStart() - Activity가 사용자에게 보여짐, 사용자와 상호작용x

* 포그라운드로 상호작용 준비단계

 

 

3. onResume() - 사용자와 상호작용, 어플의 기능

* 포커스가 없어질때 까지 상태 지속, 사라지면 onPause() 메소드 호출 

* Activity가 재개될 때 필요한 초기화 작업 세팅

 

 

4. onPause() - 어플 일시정지, background에 avtivity 세팅 , onStop() or onResume() 상태로 전환 가능

* 데이터 저장or 호출같은 트랜잭션 사용x

* 짧은시간에만 해당. 긴 이벤트는 onStop()에서 사용

 

 

5. onStop() - Activity가 사용자에게 보이지 않음 , onRestart() or onDestroy 상태로 전환 가능

* 부하가 큰 작업 (예를들어 데이터 저장과 관련된 트랜잭션)에 알맞음

 

 

6. onRestart() - onStop()상태의 Activity가 다시 시작됨 , onRestart() -> onStart()상태로 호출

* 중간다리역할

 

 

7. onDestroy() - onStop()상태가 완전히 삭제, Activity가 호출하는 마지막 메소드

* Activity가 소멸되기 직전에 호출. 다른 언어의 소멸자와 비슷한듯

* ViewModel객체를 이용하면 뷰 데이터 보관가능

* 화면 변경 등으로 Activity가 종료되면 바로 다른 Activity가 onCreate()

* 본 Activity의 데이터를 쓰지 않는다면 정리해주어야함.