Pregunta ¿Cuál es la diferencia entre actividad y contexto?


¿Son la actividad y el contexto iguales, o hay diferencias?

¿Cuándo debería tener un método para pasar una Actividad y cuándo un Contexto?


74
2018-06-29 09:10


origen


Respuestas:


Hasta donde yo entiendo: Contexto es el objeto base Entonces cada Actividad  igual que Solicitud deriva de Contexto. Esto significa que cada Actividad y cada Aplicación ES un Contexto;

De developer.android.com  Actividad

java.lang.Object
  ↳ android.content.Context
      ↳ android.content.ContextWrapper
          ↳ android.view.ContextThemeWrapper
              ↳ android.app.Activity

Y Solicitud

java.lang.Object
↳   android.content.Context
   ↳    android.content.ContextWrapper
       ↳    android.app.Application

Un contexto de aplicación dura, siempre y cuando su aplicación esté activa, mientras que el contexto de actividad muere con su actividad (no es válido después de onDestroy de esa actividad).

Por lo tanto, si necesita el Contexto entre actividades (es decir, en un Singleton), será mejor que use un contexto de aplicación.

Por lo general, en los métodos de Android Framework donde se espera un contexto, no importa cuál pasar. Pero ten siempre en cuenta Pérdidas de memoria si estás manteniendo referencias de larga vida a un contexto


92
2018-06-29 09:20



Como puedes ver en el Doc de Android:

La clase Activity se extiende desde "ContextThemeWrapper", y esta de "ContextWrapper", y la de "Context".

Entonces, sí, ¡una actividad extiende el contexto!


7
2017-12-05 15:57