티스토리 뷰
안녕하세요, Activity의 생명주기(Lifecycle)를 왜 알아야 할까요? 안드로이드 액티비티의 생명주기에 대해서 정리해보려고 합니다.
위의 굉장히 중요한 질문입니다. 저희는 왜 생명주기에 대해서 알아야 할까요?
액티비티 생명주기 사용하는 이유는?
- 사용자가 앱을 사용하는 도중에 전화가 걸려오거나 다른 앱으로 전환할 때 비정상 종료되는 상황
- 사용자가 앱을 활발하게 사용하지 않는 경우, 소중한 시스템 리소스가 소비되는 상황
- 사용자가 앱에서 나갔다가 나중에 돌아왔을 때 사용자의 진행 상태가 손실되는 상황
- 화면이 가로 방향과 세로 방향 간에 회전할 경우, 비정상 종료되거나 사용자의 진행 상태가 손실되는 상황
이러한 문제들을 생명주기의 각 메소드에서 예외처리나 기능 구현을 통해 예방할 수 있습니다. 이런 여러 상황들을 대응하고자 액티비티의 생명주기가 존재합니다. 그렇기 때문에 안드로이드 개발자들은 해당 사항에 대해서 필수적으로 알아야 합니다!! 정말 꼭 알아야 합니다. 그렇다고 무작정 암기하는 것은 좋지 않아요. 개발을 하면서 감을 익혀가다보면 자연스럽게 외워집니다. 그러니 너무 부담갖지 마시고 따라오세요!
해당 이미지는 액티비티의 생명주기 과정을 나타낸 사진입니다.
각 과정에 대해서 정리해보겠습니다.
Activity의 시작 부분
1. OnCreate()
- 특정 액티비티가 생성되었을 때 시작하는 메소드입니다. 맨 처음에 시작하며, 해당 액티비티가 없어지지 않는 한(Destroy) 단 한번만 시작됩니다.
2. OnStart()
- 액티비티가 화면에 표시될 때 실행되는 메소드입니다.
3. OnResume()
- 액티비티가 이제 화면에 완전히 화면에 보이고, 기능을 실행할 수 있습니다.
Activity가 가려지거나 화면에서 보이지 않는 경우
4. OnPause()
- 액티비티가 완전히 보여지지 않은 경우, 화면이 조금 가려져 있는 경우 실행됩니다. 그리고 다른 페이지를 넘어가는 경우에 시작됩니다.
5. OnStop()
- 다른 액티비티에 의해 완전히 화면이 가려지는 경우에 실행됩니다. 화면을 이동한 경우에 실행됩니다.
- 일반적으로 애니메이션을 중지하고 UI를 새로 고치는 등의 작업에 사용됩니다.
6. OnDestory()
- 해당 액티비티에서 완전히 종료되거나 제거된 경우에 사용됩니다. 해당 메소드가 실행되면 메모리에서 액티비티가 제거됩니다.
- finish()를 통해 Activity를 종료한 경우
처음 공부하시는 분들은 이런 것들이 있구나 정도만 알아주세요. 개발하다 보면 감이 더 잡히게 됩니다.
읽어주셔서 감사합니다.
'Android' 카테고리의 다른 글
[Android] 안드로이드 서비스(Service) 정의 및 구현 방법 정리 (0) | 2020.03.30 |
---|---|
[Android] 안드로이드 네이밍/변수명 규칙 정하기 (0) | 2020.03.29 |
[Android] 안드로이드란 무엇일까요? (0) | 2020.03.20 |
[Android] 안드로이드 4대 컴포넌트(구성요소) 정리 (0) | 2020.03.19 |
[Android] 안드로이드 Handler 개념 및 용도 (0) | 2020.02.02 |
- Total
- Today
- Yesterday
- underline color
- 티스토리블로그광고
- 구글서치콘솔
- TextInputEditText
- 서비스선언
- codingtest
- Android
- ios
- 인드로이드4대컴포넌트
- Swift데이터타입
- Swift기초자료
- 개발공부
- git
- 네이버웹마스터
- 안드로이드공부
- 블로그관리하기
- 밑줄색
- AUTH0
- swift
- 인증토큰
- 밀리세컨
- 사이트맵등록방법
- 안드로이드
- CI/CD
- TextInputLayout
- github
- 4대컴포넌트
- 코드스타일
- 안드로이드개념
- IT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |