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

Respuestas:

33

getApplicationContext() El contexto de la aplicación está asociado con la aplicación y siempre será el mismo durante todo el ciclo de vida.

getBasecontext()no debe usarse, solo use Contexten su lugar el que está asociado con la actividad y puede destruirse cuando se destruye la actividad.

Harinder
fuente
16
¿qué pasa con getApplication () y getParent ()
Nikunj Patel
107

getApplicationContext () El contexto de la aplicación está asociado con la aplicación y siempre será el mismo durante todo el ciclo de vida.

getBasecontext () no debe usarse, solo use Context en lugar del que está asociado con la actividad y podría destruirse cuando se destruye la actividad.

getApplication () solo está disponible para actividades y servicios. Aunque en las implementaciones actuales de Actividad y Servicio de Android, getApplication () y getApplicationContext () devuelven el mismo objeto, no hay garantía de que este sea siempre el caso (por ejemplo, en la implementación de un proveedor específico). Entonces, si desea la clase de aplicación que registró en el manifiesto, nunca debe llamar a getApplicationContext () y enviarla a su aplicación, porque puede que no sea la instancia de la aplicación (que obviamente experimentó con el marco de prueba).

getParent () devuelve el objeto de la actividad si la vista actual es secundaria. En otras palabras, devuelve el objeto de actividad que aloja la vista secundaria cuando se llama dentro de la vista secundaria.

Ravi
fuente
16
Como mencionaste, no deberíamos usar getBaseContext (), si no es tan importante, entonces por qué está en codificación y cuáles son sus principales ventajas. por favor, háblame al respecto
Pir Fahim Shah
getBaseContext () debe usarse en situaciones muy específicas. Hay una muy buena explicación aquí - medium.com/@ali.muzaffar/…
lomza