Context : 앱 환경에 대한 전역적인 정보를 담고 있는 인터페이스로 Application 또는 Activity 에 대한 포괄적인 정보를 담고 있다.


Context 는 Application Context와 Activity Context로 나뉜다.


- Application Context

1. Application 자체의 생명주기에 영향을 받아 Application이 실행되고 종료될 때까지 동일한 객체 즉, 싱글턴 패턴으로 구현되어 있다.

2. getApplicationContext(), getApplication()으로 참조 가능하다.


- Activity Context

1. Activity 생명주기에 영향을 받아 onDestroy가 호출되면 사라진다.

2. getContext(), XXXActivity.this(Activity 클래스는 Context를 상속 받는다)로 참조 가능하다.



*왠만하면 Application Context를 쓰자. Application Context는 앱 실행간 동일한 객체가 계속 존재하고 Activity Context를 쓰면 객체가 사라질 가능성이 있어 메모리 누수가 발생할 수 있다. 따라서 Application Context를 주로 쓰되 뷰 관련해서 Context가 필요할 시 Activity Context를 써라.

'안드로이드 > 기본' 카테고리의 다른 글

안드로이드 mvc, mvp, mvvm  (0) 2017.06.09
SharedPreferences  (0) 2017.06.04
action.Main, category.LAUNCHER  (0) 2017.06.04
메인 화면을 single_top, clear_top으로 하자  (0) 2017.06.04
text size를 sp가 아닌 dp로 써라  (0) 2017.06.04

+ Recent posts