Activity는 Context interface를 상속받아 구현된다.

즉, Activity는 Context 중 하나이다.

Context특정 컴포넌트와 안드로이드 시스템과의 통로라고 할 수 있다.




이러한 Context를 얻어오는 메서드는 크게 3가지가 존재한다.


첫 번째로 View.getContext() 형태이다.

현재 활성화되어 있는 View의 Context를 얻을 때 사용된다.

해당 클래스 내에서 this로도 참조가 가능하다.


두 번째로 ContextWrapper.getBaseContext() 형태이다.

다른Activity의 Context에 접근할 때 사용된다.


세 번째로 Activity.getApplicationContext() 형태이다.

Application 자체 즉, 서비스의 Context를 얻을 수 있다.



getApplicationContext()보다 getBaseContext()를 빈번히 사용하는 이유
메모리 유지 때문이다.


getApplicationContext는 Global Application Context로써 앱이 종료 후에도
한동안 메모리상에 남아있기 때문
이다.


반면에 getBaseContext앱이 종료됨과 동시에 메모리에서 unload된다.

다른 카테고리의 글 목록

Android/Develop 카테고리의 포스트를 톺아봅니다