차이점은 무엇입니까?
getApplicationContext()
getBasecontext()
getApplication()
getParent()
한 가지 간단한 예를 들어 설명해 주시겠습니까?
답변
getApplicationContext()
응용 프로그램 컨텍스트는 응용 프로그램과 연결되어 있으며 수명주기 동안 항상 동일합니다.
getBasecontext()
사용해서는 안되며 Context
, 활동과 관련된 대신 사용 하고 활동이 파괴되면 파괴 될 수 있습니다.
답변
getApplicationContext () 응용 프로그램 컨텍스트는 응용 프로그램과 연결되며 수명주기 동안 항상 동일합니다.
getBasecontext ()를 사용 해서는 안되며, 활동과 연관된 컨텍스트 대신 Context를 사용하고 활동이 소멸 될 때 소멸 될 수 있습니다.
getApplication () 은 활동 및 서비스에만 사용할 수 있습니다. 현재 Android 활동 및 서비스 구현에서는 getApplication () 및 getApplicationContext () 가 동일한 객체를 반환하지만 항상 그런 경우 (예 : 특정 공급 업체 구현에서)라는 보장은 없습니다. 따라서 Manifest에 등록한 Application 클래스를 원하는 경우 getApplicationContext ()를 호출 하여 애플리케이션에 캐스팅해서는 안됩니다. 애플리케이션 인스턴스 (테스트 프레임 워크에서 분명히 경험 한 것)가 아닐 수 있기 때문입니다.
getParent () 는 현재 뷰가 자식이면 액티비티의 객체를 반환합니다. 즉, 자식 내에서 호출 될 때 자식 뷰를 호스팅하는 액티비티 객체를 반환합니다.