SDK 사이트에 제대로 문서화되지 않은 많은 것들이 있다고 생각합니다. 이것 중 하나입니다. 내가 할 주장은 응용 프로그램 컨텍스트를 사용하는 것이 기본적으로 더 나은 것처럼 보이고 실제로 필요할 때 활동 컨텍스트 만 사용하는 것 같습니다. 활동 컨텍스트가 필요하다는 것을 본 유일한 장소는 진행 대화 상자입니다. SBERG412는 토스트 메시지에 활동 컨텍스트를 사용해야한다고 주장하지만 Android 문서는 사용중인 애플리케이션 컨텍스트를 명확하게 보여줍니다. 이 Google 예제로 인해 토스트에 항상 애플리케이션 컨텍스트를 사용했습니다. 그렇지 않은 경우 Google에서 공을 떨어 뜨 렸습니다.
생각하고 검토 할 내용이 더 있습니다.
토스트 메시지의 경우 Google 개발자 안내서는 애플리케이션 컨텍스트를 사용하고이를 명시 적으로 사용합니다.
토스트 알림
개발자 안내서의 대화 상자 섹션에서 AlertDialog.Builder가 응용 프로그램 컨텍스트를 사용하고 진행률 막대가 활동 컨텍스트를 사용한다는 것을 알 수 있습니다. 이것은 구글에 의해 설명되지 않습니다.
대화 상자
방향 변경과 같은 구성 변경을 처리하고보기와 같은 컨텍스트가 필요한 객체를 유지하려는 경우 응용 프로그램 컨텍스트를 사용하는 것이 좋습니다. 여기를 보면 : 런타임 변경 사항
활동 컨텍스트 사용에 대한주의가 있으며 이는 누출을 일으킬 수 있습니다. 이것은 유지되어야 할 뷰가있는 응용 프로그램 컨텍스트에서 피할 수 있습니다 (적어도 내 이해입니다). 내가 쓰고있는 응용 프로그램에서는 방향 변경에 대한 일부보기와 다른 것들을 유지하려고 노력하고 있기 때문에 응용 프로그램 컨텍스트를 사용하려고하지만 여전히 방향 변경에서 활동을 파괴하고 다시 만들고 싶습니다. 따라서 메모리 누수가 발생하지 않도록 앱 컨텍스트를 사용해야합니다 ( 메모리 누수 방지 참조).). 나에게 활동 컨텍스트 대신 응용 프로그램 컨텍스트를 사용해야하는 충분한 이유가 많이 있으며, 나에게 당신이 활동 컨텍스트보다 더 자주 사용하는 것처럼 보입니다. 그것은 내가 겪은 많은 안드로이드 서적이며 내가 본 구글 사례의 대부분입니다.
Google 문서는 실제로 대부분의 경우 응용 프로그램 컨텍스트를 사용하는 것이 완벽하게 보이는 것처럼 보이고 실제로는 예제 (적어도 내가 본 예제)에서 활동 컨텍스트를 사용하는 것보다 더 자주 나타납니다. 애플리케이션 컨텍스트를 사용하는 것이 실제로 문제가되는 경우 Google은이를 더욱 강조해야합니다. 그들은 그것을 명확하게해야하고, 그들의 예 중 일부를 다시해야합니다. 권위 (Google)가 실제로 응용 프로그램 컨텍스트를 사용하는 것이 문제가 아닌 것처럼 보이기 때문에 경험이 부족한 개발자에게 전적으로 책임을지지 않습니다.