애플리케이션을 개발하다보면 무조건 사용하게 되는 context.
약간은 암묵적인 동의랄까 아무런 의심과 의문을 갖지 않고 사용하게 된다.
이번에 유지보수를 하기 위해 리팩토링을 하던중 같은 액티비티에서 context를 가져오는데
this 와 getapplicationContext가 혼용되어서 사용되는 것을 보며 의문을 갖게 되었다...
이것의 정확한 차이는 무엇일까???
Google Developer 문서를 참조하면
애플리케이션 환경에 대한 글로벌 정보에 대한 인터페이스로 안드로이드 시스템에서 구현을 제공하는 추상클래스 입니다.
이를 통해 애플리케이션 별 리소스 및 클래스 액세스 할 뿐만 아니라 활동 시작, 인텐트 브로드 캐스트 수신등과 같은 애플리케이션 수준 작업에 대한 상향 호출이 가능하다.
좀 길다...
요약 하면 다음과 같다
Activity Manager Service에 접근할수 있는 통로로 리소스,인텐트, 브로드 캐스트 리시버를 호출할수 있도록 한다.