반응형
Android Context
Context는 Android system에서 제공하는 추상 클래스로, application 환경에 대한 전역 정보를 접근하기 위한 인터페이스다.
Android App startup process
- Android에서는 application과 process가 독립적으로 운영되기 때문에, application은 ActivityManagerService에서, process는 OS에서 관리한다.
- ActivityManagerService는 각 application을 특정 토큰 키/값 (id)으로 구분하여 여러 application의 전역 정보를 관리한다.
더 구체적인 Context의 역할
- ActivityManagerService에 접근하기 위한 인터페이스(브릿지) 역할
- 각 application을 구분하는 ID 역할
Context는 자신의 application의 키/값을 가지고 ActivityManagerService에 접근하여 application에 관한 전역 정보 획득 - 시스템에서 제공하는 메서드를 application이 사용할 수있도록 한다.
Application과 Context의 관계
- Context 클래스는 추상 클래스로, Application, Activity, Service는 Context 클래스를 상속 받아 Context 객체를 이용한다.
Context의 종류는 2가지가 있다.
Application Context
Application과 관련된 기능을 담는 Context로서, Application 전체에서 하나만 생성되는 싱글톤 객체다.
Application의 생명 주기와 연계되어 있으며, getApplicationContext() 메서드를 호출하여 사용한다.
Base Context
Android 4대 구성 요소인 Activity, Service, Broadcast Receive, Content Provider의 Context를 의미한다
각 컴포넌트가 생성될 때마다 Context가 생성되며, 각 컴포넌트의 생명 주기와 연계 되어 있고, getBaseContext() 메서드나 this를 통해 사용한다.
이상으로 Context 포스팅을 마칩니다.
반응형
댓글