Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데이터베이스
- 코틀린
- 앱개발
- 디자인 패턴
- MVVM
- 앱 개발
- db
- cs
- Database
- 리액트네이티브
- OS
- CS지식
- 개발
- Android
- React
- Kotlin
- 운영체제
- 리액트
- 디자인패턴
- github
- Operating System
- 안드로이드 개발
- 앱
- 스레드
- 메모리
- 안드로이드 디자인 패턴
- 액티비티
- 프로세스
- 안드로이드
- reactnative
Archives
- Today
- Total
Tech Log
[Android] Context 본문
1. Context란?
Context라는 단어 자체를 번역하면 문맥이다.
문맥은 논리적인 흐름을 말한다.
Context는 애플리케이션의 논리적인 흐름이다.
애플리케이션의 현재 상태를 나타내며,
애플리케이션 환경에 대한 전반적인 정보를 담고 있는 클래스다.
- 리소스에 접근할 수 있도록 도와준다.
- 브로드캐스트 리시버, Intent와 같이 메시지를 주고받으며 다른 안드로이드 컴포넌트와 상호작용할 때 필요하다.
Context를 잘못사용하면 메모리 누수를 유발하므로 Context를 제대로 이해하고 사용해야 한다.
2. Context의 종류
Context는 주로 두 가지로 나뉜다.
Activity Context, Application Context로 나뉜다.
Activity Context
Activity Context는 Activity의 생명주기와 관련되어 있다.
Activity의 생명주기와 관련된 object를 생성할 때 필요할 수 있다.
Activity 내에서만 사용이 가능하다.
Activity가 소멸하면 해당 Activity Context도 소멸한다.
Activity Context가 사용되는 경우는 대표적으로 다음과 같다.
- 리소스 값을 불러올 때
- Toast 메시지를 띄울 때
- Activity를 시작할 때
- Layout Inflation
- 서비스를 시작할 때
- 브로드캐스트 메시지를 전송할 때
Application Context
애플리케이션의 생명주기와 관련되어 있다.
애플리케이션이 실행되어 종료될 때까지 존재한다.
Activity scope를 벗어난 작업일 때 사용한다.
주로 싱글톤으로 구현할 때 사용이 된다.
Application Context가 사용되는 경우는 대표적으로 다음과 같다.
- 리소스 값을 불러올 때
- 서비스를 사용할 때
- 브로드캐스트 메시지를 전송할 때
참조
'Android > etc' 카테고리의 다른 글
[Android] SharedPreferences와 싱글톤 패턴 (0) | 2023.03.27 |
---|---|
[Android] ViewModel 개념 (0) | 2022.08.23 |
[Android] Fragment 생명 주기 (0) | 2022.06.25 |
[Android] Jetpack (0) | 2022.06.21 |
[Android] SharedPreferences (0) | 2022.06.15 |
Comments