일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Bitrise
- 브론즈1
- compose
- .github
- 2레벨
- 프로그래머스
- 피보나치 수 2
- 실버2
- 데이터베이스 첫걸음
- LazyRow
- kotlin
- capitalize
- LazyColumn
- 실버 4
- 데이터베이스
- suspend programming
- 개발하는 정대리
- DB 기능
- navigation component
- github action
- 백준
- gradlew
- 최댓값 최솟값
- Activirty
- Myungpyo Shim
- 성빈랜드
- DB
- 브론즈 1
- keystore
- Android
- Today
- Total
plzy의 개발 블로그
[Android] Activity life cycle 완벽 분석하기 본문
Android 공부를 하는 사람은 알겠지만, Android는 라이프사이클 즉 수명주기를 가지고 있다.
앱이 켜지는 그 순간부터 끄는 그 순간을 주기로 나타내는 것인데, 각각의 상황속에서 해야할 코드를 작성해야한다.
Activity의 라이프사이클을 살펴보자
oCcreate
oncreate는 처음으로 activity 가 생성될때 나타난다. 이 메소드에서는 viewModel, dataBinding or viewBinding을 연결한다.
onStart
oncreate 다음에 나타는 주기이다. activity가 시작되기 전에 실행된다. 예를들어 로그인을 한다고 칠 때 만약 로그인이 되어있으면 메인화면으로 넘어가게 할때 사용된다.
onResume
이제 액티비티가 실행되고 동작하기 바로 직전에 실행된다. 보통 임시저장된 데이터를 불러오는데 많이 쓰인다.
onPause
onPause는 생명주기 상으로 사용자에게 보이지 않을 때 사용된다. A -> B로 activity가 이동할 때 A에서 잠시동안 데이터를 저장해야할 때가 있다. 이때 저장하는 코드를 onPause에서 쓴다.
onStop
액티비티가 완전히 안보이는 상태이다. 그런데 onStop일때 다시 앱을 킬수도 있는데 onRestart->onStart 생명주기로 넘어간다.
onRestart
액티비티가 중단되었다가 다시 시작하기 직전에 호출된다. onStart가 따라온다.
데터베이스에 정보를 쓰는 작업과 같이 규모가 크고 CPU를 많이 사용하는 종료 작업을 수행하는 경우 onStop()을 사용해야 한다.
onDestroy
액티비티가 완전히 종료되었을 때 호출된다. 다시 앱을 키면 onCreate부터 간다.
OnCreate->OnStart->OnResum 은 앱이 실행되기 전에 차례대로 호출하는 순서라고 이해하면 쉽다.
'Android' 카테고리의 다른 글
navigateUp vs popBackStack 의 차이 (0) | 2022.03.02 |
---|---|
[FIX] Android Studio 먹통일 때 (0) | 2022.01.06 |
[Android] Android (Singleton pattern) 이란 무엇인가 ? (2) | 2021.03.09 |
[Android] MVVM 패턴이란 무엇인가 (0) | 2021.03.06 |
[Android] ViewPager2 어떻게 써야할까? (0) | 2021.02.21 |