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.