본문 바로가기
Android Studio/Android

Activity의 생명주기

by ksb0511 2020. 2. 29.

- onCreate()메소드

기본적으로 액티비티를 상속받으면 화면을 구성하기 위해서 가장 먼저 호출되는 메소드
자바로 치면 메인메소드 같은 존재
처음에 가장 먼저 딱 한번만 호출.

- onStart()메소드

화면이 다른 곳에 있다가 이 해당앱으로 전환될 때 호출된다. 앱이 켜질 때 마다 호출, onResume()메소드 전에 실행됨

-onResume()메소드

화면이 다른 곳에 있다가 이 해당앱으로 전환될 때 호출된다. 앱이 켜질 때 마다 호출
사용자가 액티비티에 포커스를 잡은 상태


다른 액티비티 등장


-onPause() 메소드

다른 액티비티가 호출 될 때, 완전히 가려지기 전까지의 단계
사용자가 액티비티에 포커스를 잃었을 때 호출되는 함수

-onStop() 메소드

다른 액티비티가 호출 되었을 때 완전히 가려졌을 경우 호출되는 함수

-onRestart() 메소드

액티비티가 멈춰 있다가 다시 호출 될 때, 사라졌다가 다시 시작될 때

-onDestroy() 메소드

액티비티가 완전히 스택에서 없어질 때 호출, finish()메소드가 호출되거나 종료될 경우



Log를 찍어 확인하는 방법이 가장 좋음.
Log.i("태그", "onCreate");
Log.i("태그", "onStart");
Log.i("태그", "onResume");
이런식으로 실행하여 앱의 동작이 변화할 때마다 로그가 어떻게 찍히는 지 확인하면 좋음.

ex) 앱이 구동될 때 (에뮬레이터를 실행시켰을 경우)

log값으로 onCreate, onStart, onResume이 찍힐 것이다. 이것을 통해 에뮬레이터를 실행시키면서 앱이 동작하기 시작했으므로 가장 먼저 처음에 딱 한 번 호출되는 onCreate() 메소드가 호출되는 것을 알 수 있을 것이다. 그리고 이어서 첫 화면이 해당화면이기 때문에 앱이 완전히 켜질때까지 (앱이 켜지기 시작하는 순간부터 창이 100프로 생성되는 사이) onStart() 메소드가 호출되고, 이어서 창이 100프로 동작하기 시작할 때 포커스를 잡았다라는 의미로 onResume() 메소드가 호출됨을 알 수 있다.

'Android Studio > Android' 카테고리의 다른 글

Android Studio 팝업창 만들기  (0) 2020.07.22
Android Studio setClipToOutLine() in RecyclerView  (0) 2020.04.10
Android Studio Room Database  (0) 2020.04.02
Android MVVM Architecture  (0) 2020.03.27
Android Studio 그림자 생성  (0) 2020.03.24

댓글