¿Qué son los métodos context, getapplicationcontext () en android?

La documentación de Android sobre el contexto dice que es un

Interfaz con información global sobre un entorno de aplicación.

Básicamente, este es el objeto que el tiempo de ejecución de Android transfiere a cada aplicación de Android que se inicia. Contiene toda la información global que la aplicación necesita saber: recursos de cadena, recursos de imagen, componentes de Android en la aplicación (Servicio de actividades, Receptor de difusión y Proveedor de contenido).

Muchos desarrolladores inexpertos cometen un error al suponer que solo hay una única instancia de esta clase, lo que provocará pérdidas de memoria en la aplicación de Android.

Cuando obtiene getApplicationContext () obtiene un objeto de contexto Singleton. Pero cuando haces getContext () no obtienes el mismo contexto Singleton. Cada actividad obtiene su propia instancia de contexto (solo imprima el código hash del objeto de contexto). Incluso el Servicio obtiene su propia instancia de Context Object.

Si no se presta atención a los detalles de este minuto, se producirán aplicaciones de Android de bajo rendimiento que incluso pueden aplastar. Personalmente, creo que este es a menudo el concepto más incomprendido en el desarrollo de aplicaciones de Android.

Si desea obtener más detalles sobre lo que conduce a una pérdida de memoria, cómo detectarla, por qué sucede y cómo evitarla, no dude en visitar esta serie de videos.

Espero que esto ayude.

Contexto: si llama a getContext (), devolverá la vista de contexto de la actividad actualmente en ejecución. Significa que puede usarlo con sus vistas.


getApplicationContext () – Devuelve el contexto del proceso de toda la actividad que se ejecuta dentro de él. Si necesita un contexto que vincule todo el ciclo de vida de la aplicación, puede usarlo. Debe usarlo en toda la actividad.

Para más detalles, puede consultar el artículo del tipo romano Evitar pérdidas de memoria