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' 카테고리의 다른 글
[Android-Develop] Navigation Drawer - Part 2 (0) | 2015.09.28 |
---|---|
[Android-Develop] Navigation Drawer - Part 1 (0) | 2015.09.26 |
[Android-Develop] 액티비티(Activity) 구성 (0) | 2015.01.05 |
[Android-Develop] 인플레이션(Inflation) (0) | 2015.01.05 |
[Android-Develop] TextWatcher (0) | 2015.01.01 |