¿Son la actividad y el contexto lo mismo o hay diferencias?
¿Cuándo debería hacer que un método pase una actividad y cuándo un contexto?
¿Son la actividad y el contexto lo mismo o hay diferencias?
¿Cuándo debería hacer que un método pase una actividad y cuándo un contexto?
Respuestas:
Por lo que tengo entendido: el
contexto es el objeto base. Por tanto, todas las actividades iguales a las de las aplicaciones se derivan del contexto. Esto significa que cada Actividad y cada Application
ES a Context
;
De developer.android.com
actividad
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
Un contexto de Aplicación dura, mientras su aplicación esté viva, mientras que el contexto de Actividad muere con su Actividad (no es válido después onDestroy
de esa Actividad).
Entonces, si necesita el contexto en todas las 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 pase. Pero tenga en cuenta siempre MemoryLeaks si mantiene referencias a un contexto de larga duración
Como puede ver en el documento de Android :
La clase Activity se extiende desde "ContextThemeWrapper", y esta de "ContextWrapper", y la de "Context".
Entonces, sí, ¡una actividad extiende el contexto!