어떻게 버그까지 사랑하겠어, 개발을 사랑하는 거지
[안드로이드] 4대 컴포넌트, Activity 본문
🔎 4대 컴포넌트
"App components are the essential building blocks of an Android app. Each component is an entry point through which the system or a user can enter your app. "
- [Android Devlopers] Application fundamentals
컴포넌트는 시스템이나 사용자가 앱에 진입할 수 있는 진입점으로, 네 가지 유형의 컴포넌트가 있고 이를 통칭적으로 "4대 컴포넌트"라고 부릅니다.
- 액티비티(Activity)
- 서비스(Service)
- 브로드캐스트리시버(Broadcast Receiver)
- 컨텐트 프로바이더(Content provider)
이중에서도 오늘은 액티비티(Activity)에 간략하게 포스팅해 보려고 합니다.
🔎 액티비티(Activity)
액티비티(Activity)란 사용자와 상호작용하기 위한 진입점(Entry point for interacting with the user)입니다.
따라서 사용자 인터페이스를 담당하는 컴포넌트로 앱의 화면을 구성하고 사용자와 상호작용합니다.
🔎 액티비티의 생명주기(Activity LifeCycle)
생명주기(Activity LifeCycle)는 액티비티(Activity)가 생성되고 종료되는 동안의 상태 변화 과정을 일컫습니다.
그리고 액티비티(Activity)는 생명 주기 동안 여러 상태를 거치는데, 이 상태는 개발자가 직접적으로 정하는 것이 아닌 시스템에 의해 상태가 전환됩니다.
따라서 제공되는 콜백 함수(Callback)를 통해 이러한 상태 간 전환을 처리하고 생명주기(Activity LifeCycle)를 관리해야 합니다.
즉, 개발자는 콜백 함수를 재정의(Override) 하여 각 상태마다 어떻게 처리할 것인지 정의하고, 구현하여 생명주기(Activity LifeCycle) 동안 액티비티(Activity)가 올바르게 동작할 수 있도록 해야 합니다.
🔗 액티비티 생명주기 콜백
- onCreate()
- onStart()
- onResume()
- onPause()
- onStop()
- onRestart()
- onDestroy()
🔗 생명주기 순서(콜백 함수들이 호출되는 순서)
onCreate() → onStart() → onResume() → onPause() → onStop() → onDestroy()
- Activity가 시작될 때
onCreate() → onStart() → onResume()
- Activity가 종료될 때
onPause() → onStop() → onDestroy()
- 화면이 회전되었을 때
onPause() → onStop() → onDestroy() → onCreate() → onStart() → onResume()
- 다른 Activity가 위에 뜰 때(불투명)
onPause() → onStop()
- 다른 Activity가 위에 뜰 때(투명하거나 일부만 가림)
onPause()
* 참고했던 자료 혹은 블로그(출처):
[Android Devlopers] Application fundamentals
애플리케이션 기본 항목 | App architecture | Android Developers
이 페이지는 Cloud Translation API를 통해 번역되었습니다. 애플리케이션 기본 항목 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 앱은 Kotlin, Java 프로그
developer.android.com
[Android Devlopers] Introduction to activities
활동 소개 | App architecture | Android Developers
활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페
developer.android.com
네이버 블로그에 작성한 게시글 이전, 2024. 10. 16. 작성
'git commit > 안드로이드' 카테고리의 다른 글
| [안드로이드] 한 프로젝트 안에서 여러 개의 앱 생성하기 : productFlavors (0) | 2025.10.02 |
|---|---|
| [안드로이드] 에러 잡기 : End of input at line 1 column 1 path $ (0) | 2025.10.01 |