관리 메뉴

드럼치는 프로그래머

[안드로이드] Context 추상 클래스 본문

★─Programing/☆─Android

[안드로이드] Context 추상 클래스

드럼치는한동이 2013. 8. 16. 10:02

Context는 끝에 열거한 많은 상수와 메서드를 가지고 있는 상위의 추상 클래스이며,

글로벌 정보를 접근하기 위한 인터패이스이다.


안드로이드 시스템이 Context의 실행을 제공한다.
특수 용도의 리소스와 클래스를 액세스를 할 수 있다.
Activity를 런칭하거나, intent를 broadcast하거나 receive하는 것 같은 상위 어플리캐이션 operation을 접근할 수도 있다.

 

Context 는 크게 두 가지 역할을 한다.
  1. 어플리케이션에 관하여 시스템이 관리하고 있는 정보에 접근하기
  2. 안드로이드 시스템 서비스에서 제공하는 API 를 호출할 수 있는 기능

 

Activity가 Context를 상속 받아서 Context로 설정하거나 사용할 수 있다.

다른 곳에서 Context를 사용하려면 Activity Context 객체를 넘겨주어야 한다.


Activity 안의 Context는 getApplicationContext() 메소드를 사용하여 얻을 수 있다
Context context = getApplicationContext();


Activity 클래스는 Context 클래스를 상속 확장하였으므로, Context를 얻기 위해 Activity의 this를 직접 받아올수도 있다.
하지만, 무분별한 Acivity 참조는  메모리 누수(memory leak) 현상의 발생 확률을 높이므로 가급적

getApplicationContext() 메서드를 통해 얻는 것이 좋다.

 

[출처] http://www.cyworld.com/kjky0/3979840

Comments