티스토리 뷰

반응형

Context : 안드로이드의 Component들이 동작하기 위해 필요한 기능들을 담고 있는 class. Component가 생성될 때마다 Context는 별도로 생성됨. ( 액티비티, 서비스 등이 실행되는데 필요한 기능들을 가지고 있음 )

 

각 안드로이드 Component 에 대한 Context가 가지고 있는 구조를 나타내고 있는 그림. Recevier를 제외한 나머지 Component 는 자신의 독립적인 Context를 가지며, Receiver는 onReceiver 메소드를 통해 제한된 기능을 가진 Context를 가짐

 

Context를 이용하여 할 수 있는 것들 <- Context가 가지고 있는 기능들이 무엇인지 알면 됨.

Context가 가지고 있는 기능들

-  Context는 Application에 대한 정보를 가지고 있음 ( 즉, Application의 패키지를 알고 있기 때문에, Application 내에 있는 Component 및 리소스, 디렉토리 정보들을 가지고 있음 ) 

- Context는 Application에 대한 정보를 가지고 있기 때문에 Activity가 가지는 정보 또한 알 수 있음. 즉, Activity가 가지는 Theme에 대한 정보도 알 수 있음 (그렇기 때문에, View를 생성하는데, Activity의 Context 정보를 넘겨주는 것은 Activity의 Context 가 가지고 있는 Theme에 관련된 정보를 활용하기 위해서 넘기는 것이다. ) 

- Context는 SystemService를 가짐. ( NOTIFICATION_SERVICE, ALARM_SERVICE ... )

 

Context 유지 기간 

- Context는 안드로이드의 Component 객체에 독립적으로 존재하기 때문에 해당 객체가 존재하는한 Context 내의 기능들을 활용할 수 있음. ( ex : Toast가 ApplicationContext를 사용하는 이유 ... Activity가 종료되더라도 일정시간동안 Toast가 띄워져야 하므로 ... )

- * 참고 : Application 은 Process에 load 된 이후에 메모리 부족 등의 이유로 제거되지 않는 이상 계속 유지됨. 따라서 Application 이 가지는 정보들을 Application을 extends 하여 커스텀할 수 있음. 이럴 경우, AndroidManifest의 <application>의 name 속성을 커스텀한 Application 명으로 설정

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
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
글 보관함