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 |