Hagámoslo simple.
La documentación oficial de Android sobre Context dice que es un –
Interfaz con información global sobre un entorno de aplicación
- ¿Cuánto tiempo toma si solicita whatsapp.com para desactivar su cuenta?
- ¿Cuáles son las mejores mecánicas de juego para un juego móvil incremental (es decir, Adventure Capitalist)?
- ¿Cuál es el mayor error que cometió cuando trabajó con un desarrollador en su primera aplicación móvil?
- ¿Es necesario mantener mi PC encendida 24/7 si tengo que crear un sitio web o una aplicación?
- ¿Cuál es la mejor aplicación de bloqueo que se puede usar para WhatsApp?
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 estos detalles minuciosos, 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.