반응형

1. Application이란 무엇일까 ?

 

Android의 Application 클래스는 액티비티와 서비스와 같은 다른 모든 구성 요소를 포함하는 Android 앱 내의 기본 클래스이다. Application 클래스 또는 Application 클래스의 하위 클래스는 응용 프로그램 / 패키지에 대한 프로세스가 생성 될 때 다른 클래스보다 먼저 객체화 된다.

 

 

 

2. Context란 무엇일까?

 

Context는 system을 핸들링 하기위해 존재한다. 즉, 리소스 값 처리, 데이터베이스 및 기본 설정에 대한 액세스 권한 획득 등과 같은 서비스를 제공한다. Context는 현재 application이 동작하는 동안의 모든 환경을 핸들링한다고 생각하면 쉽다.

 

이때 안드로이드 프레임워크에서 Context는 Application Context와 Activity Context로 구분지을 수 있다.

 

Application Context는 application lifecycle에 접목되는 개념이고 Activity Context는 activity lifecycle에 접목되는 개념이다.

 

Application Context하나의 애플리케이션이 실행되어 종료될 때까지 동일한 객체인 반면,

Activity Context액티비티가 onDestroy() 된 경우 사라질 수 있는 객체이다. 이를 참고하여 목적에 맞도록 알맞은 종류의 context를 참조해야 한다.

 

Application Context를 참조하기 위해 getApplicationContext(), getApplication()을 사용할 수 있고, Activity Context를 참조하기 위해서는 getBaseContext()나 ActivityName.this를 사용할 수 있다.

 

 

반응형