나는 안드로이드를 배우기위한 튜토리얼을 따르고 있지만 문제는 모든 세부 사항을 포함하지 않는다는 것입니다. 일부 빛이 getApplicationContext()
의 사용 사례에 흘릴 수 있다면getApplicationContext() 함수가 사용 된 경우
특히, 그것은 좋은 것입니다.
나는 안드로이드를 배우기위한 튜토리얼을 따르고 있지만 문제는 모든 세부 사항을 포함하지 않는다는 것입니다. 일부 빛이 getApplicationContext()
의 사용 사례에 흘릴 수 있다면getApplicationContext() 함수가 사용 된 경우
특히, 그것은 좋은 것입니다.
Context
은 애플리케이션의 리소스 (즉, res
폴더의 모든 것)와 Android 런타임의 핸들로 생각할 수 있습니다. Activity
, Service
, Application
과 같은 클래스는 Context
에서 상속됩니다.
일반적으로 Activity는 Context에서 상속되므로 Context
이 필요할 때마다 현재 Activity
을 전달합니다.
또한 Context
이 필요한 경우 대신 활동 getApplicationContext()
사용에 대한 정보를 찾을 수 있습니다. 이것은 일반적으로 Context를 필요로하는 코드가 Activity에 대한 참조를 불필요하게 보유하는 것을 방지하기위한 것이며, 최악의 경우 가비지 수집을 방해 할 수 있습니다 (Application
을 전달하는 것은 그 시나리오에서 실제로 큰 문제는 아닙니다. 오랫동안 주변에있을 것으로 예상 됨).
그러나 메서드의 인수가 Context
유형이지만 실제로는 Activity
이 필요한 특정 시나리오가 있습니다. startActivity()
을 사용하면 이것이 내가 믿는 한 가지 예입니다 (내가 틀렸다면 수정하십시오).