개발여행일지~
액티비티 생명주기를 조금씩 천천히 알아가보자 본문
1) onCreate()
- Activity가 생성되면 가장 먼저 호출된다
- 화면 Layout 정의, View 생성, Databinding 등은 이곳에 구현함
- 생명주기 통틀어서 단 한 번만 수행되는 메소드
- 따라서 Activity 최초 실행에 해야하는 작업을 수행하기에 적합함
2) onStart()
- Activity가 화면에 표시되기 직전에 호출됨
- 화면에 진입할 때마다 실행되어야 하는 작업을 이곳에 구현함
3) onResume()
- Activity가 화면에 보여지는 직후에 호출됨
- 현재 Activity가 사용자에게 포커스인 되어있는 상태
4) onPause()
- Activity가 화면에 보여지지 않은 직후에 호출됨
- 현재 Activity가 사용자에게 포커스아웃 되어있는 상태
- 다른 Activity가 호출되기 전에 실행되기 때문에 무거운 작업을 수행하지 않도록 주의해야함
- 영구적인 Data는 이곳에 저장
5) onStop()
- Activity가 다른 Activity에 의해 100% 가려질 때 호출되는 메소드
- 홈 키를 누르는 경우, 다른 액티비티로의 이동이 있는 경우가 있음
- 이 상태에서 Activity가 호출되면, onRestart() 메소드가 호출됨
6) onDestroy()
- Activity가 완전히 종료되었을 때 호출되는 메소드
- 사용자: finish(), onBackPressed()(기존 액티비티의 onResume()까지 호출된 후 onDestroy() 호출)
- 시스템: 메모리부족(프로세스 종료)
- onStop(), onDestroy() 메소드는 메모리 부족이 발생하면 스킵될 수 있음
7) onRestart()
- onStop()이 호출된 이후에 다시 기존 Activity로 돌아오는 경우에 호출되는 메소드
- onRestart()가 호출된 이후 이어서 onStart()가 호출됨
액티비티 전환 시 수명주기 콜백 메소드 호출 순서
- FirstActivity에서 SecondActivity 시작
1. FirstActivity의 onPause()
2. SecondActivity의 onCreate() -> onstart() -> onResume()
3. FirstActivity의 onStop()
- 단말기의 뒤로가기 버튼 누름
1. SecondActivity의 onPause()
2. FirstActivity의 onRestart(), onStart(), onResume()
3. SecondActivity의 onStop(), onDestroy()
아직 이해 못 한 것도 많고 생명주기가 많이 어렵다. 계속 공부하면서 이해하도록 노력해야겠다
'코틀린 공부정리' 카테고리의 다른 글
회원가입시 조건과 비밀번호 입력시 제한사항 적용하기 (0) | 2023.08.17 |
---|---|
간단하게 만든 로그인& 회원가입 어플 (0) | 2023.08.11 |
Toast 메시지를 띄워보자! (0) | 2023.08.08 |
Extra를 이용해 데이터 옮기기! (0) | 2023.08.02 |
(Error:AndroidStudio Error) imageview의 이미지가 안보이는 현상 (0) | 2023.08.01 |