getApplicationContext (), getBaseContext (), getApplication (), getParent ()


답변:


33

getApplicationContext() 응용 프로그램 컨텍스트는 응용 프로그램과 연결되어 있으며 수명주기 동안 항상 동일합니다.

getBasecontext()사용해서는 안되며 Context, 활동과 관련된 대신 사용 하고 활동이 파괴되면 파괴 될 수 있습니다.


16
무엇 getApplication ()과의 getParent에 대한 ()
Nikunj 파텔

107

getApplicationContext () 응용 프로그램 컨텍스트는 응용 프로그램과 연결되며 수명주기 동안 항상 동일합니다.

getBasecontext ()를 사용 해서는 안되며, 활동과 연관된 컨텍스트 대신 Context를 사용하고 활동이 소멸 될 때 소멸 될 수 있습니다.

getApplication () 은 활동 및 서비스에만 사용할 수 있습니다. 현재 Android 활동 및 서비스 구현에서는 getApplication ()getApplicationContext () 가 동일한 객체를 반환하지만 항상 그런 경우 (예 : 특정 공급 업체 구현에서)라는 보장은 없습니다. 따라서 Manifest에 등록한 Application 클래스를 원하는 경우 getApplicationContext ()를 호출 하여 애플리케이션에 캐스팅해서는 안됩니다. 애플리케이션 인스턴스 (테스트 프레임 워크에서 분명히 경험 한 것)가 아닐 수 있기 때문입니다.

getParent () 는 현재 뷰가 자식이면 액티비티의 객체를 반환합니다. 즉, 자식 내에서 호출 될 때 자식 뷰를 호스팅하는 액티비티 객체를 반환합니다.


16
당신이 언급했듯이 우리는 getBaseContext ()를 사용하지 말아야합니다. 그것이 그렇게 중요하지 않다면 그것이 코딩에있는 이유와 주요 장점은 무엇입니까? 그것에 대해 나에게 자세히 설명해
PIR 파힘 샤

getBaseContext ()는 매우 특정한 상황에서 사용해야합니다. 여기에 아주 좋은 설명이 있습니다 -medium.com/@ali.muzaffar/…
lomza
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.