Context

    Context

     

    일반 OS kernel

    Application -> System Call -> System 함수 -> 프로세스 정보 제공

    자신의 존재가 자신으로 인증

     

    Android

    OS가 프로세스 관리

    Android system service 중의 ActivityManagerService에서 Application 정보 관리

    Key-Value 의 배열로 현재 작동 중인 Application 정보 관리

    ActivityManagerService 또한 일종의 Appcliation

    Application은 인증된 ID 카드를 가지며, 전달도 가능함

     

    Context

    Application과 관련된 정보에 접근하거나 System 레벨의 함수를 호출할 때 사용됨

    즉 ActivityManagerService를 통해야 가능

    두 가지 역할을 가짐

    Application의 ID

    ActivityManagerService에 접근할 수 있도록 하는 역할

     

    Activity, Service에서 생성되거나, BroadcastReceiver에 전해지는 Context는 모두 다른 인스턴스

    Context는 Application이 시작될 때, 그리고 컴포넌트들이 생성될 때마다 생성됨

     

    Dialog나 새로운 View를 화면상에 표시하기 위해서는 Activity의 Context가 필요한 이유는

    표시하기 위한 Window에 대한 정보가 필요하기 때문

     

    Activity Context

    Activity와 Activity에 포함된 그 밖의 요소(View의 전체적인 계층 구조)

     

    Application Context

    Application Context에 대한 참조를 누군가가 계속 유지하고 있으면 메모리 Leak

     

    'Android > Theory' 카테고리의 다른 글

    Toast  (0) 2013.04.16
    Service  (0) 2013.04.16
    Intent  (0) 2013.04.16
    Orientation  (0) 2013.04.16
    Task  (0) 2013.04.16

    댓글