Atividade e contexto são iguais ou existem diferenças?
Quando devo fazer com que um método passe uma atividade e quando um contexto?
Atividade e contexto são iguais ou existem diferenças?
Quando devo fazer com que um método passe uma atividade e quando um contexto?
Respostas:
Tanto quanto eu entendo:
Context is the Base Object. Portanto, cada Activity igual a Application deriva do Context. Isso significa que cada atividade e cada Application
IS a Context
;
Da developer.android.com
atividade
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
Um contexto de aplicativo dura, enquanto seu aplicativo está ativo, enquanto o contexto de atividade morre com sua atividade (não é válido depois onDestroy
dessa atividade).
Portanto, se você precisa do Contexto entre Atividades (ou seja, em um Singleton), será melhor usar um contexto de Aplicativo.
Normalmente, nos métodos do Android Framework em que um contexto é esperado, não faz diferença em qual deles você passa. Mas esteja sempre ciente de MemoryLeaks se você estiver mantendo referências de longa duração para um contexto
Como você pode ver no documento Android :
A classe Activity estende-se de "ContextThemeWrapper", esta de "ContextWrapper" e aquela de "Context".
Então, sim, uma atividade estende o contexto!