728x90
정말 흔하게 사용되는 context.
아무 생각없이 공기처럼 사용되는 녀석이지만 잘못사용할 경우 memory leak이 빈번하게 발생 할 수 있다.
https://developer.android.com/reference/android/content/Context
응용 프로그램 환경에 대한 전역 정보에 대한 인터페이스입니다. Android 시스템에서 구현을 제공하는 추상 클래스입니다. 애플리케이션별 리소스 및 클래스에 대한 액세스는 물론 시작 활동, 브로드캐스팅 및 인텐트 수신 등과 같은 애플리케이션 수준 작업에 대한 상향 호출을 허용합니다.
라고 설명이 되어있는대,
크게
애플리케이션의 현재 상태 값,
액티비티 / 애플리케이션의 정보,
리소스, 데이터베이스, preference 값의 접근
등으로 활용 된다.
Context엔 Application Context 와 Activity Context가 존재한다.
Application Context
어떻게보면 전역변수랑 비슷하다. 액티비티의 범위를 넘어서 컨텍스트를 전달할때 사용이 되고,
오래 유지가 된다.
Activity Context
Activity lifecycle에서만 유효하며 activity가 소멸해야할때 같이 소멸하게끔 설계하는 경우에 사용된다.
rule of thumb
사용하는 위치에서 가까운 context를 사용하자.
728x90
'프로그래밍 공부 > Android' 카테고리의 다른 글
[android-kotlin] firebase notification / message (0) | 2022.07.14 |
---|---|
[android] migration 진행중 ... kotlin v, IDE v, library v...etc... (0) | 2022.03.29 |
[kotlin] LiveData & DataBinding (0) | 2021.07.20 |
[kotlin] Android jetpack Navigation (2) | 2021.05.14 |
[Android&Kotlin] gps tracking (3) | 2021.02.04 |