Diferença entre Context e Activity

1 resposta
K

Bom, eu sei que Context é uma activity, mas qual a diferença entre os dois? Quando usar um e quando usar outro?

Obrigado.

1 Resposta

F

Olhando do ponto de vista MVC, a activity pode ser comparada a uma View+Controller, esta é responsável por definir e controlar uma tela.

Existem 2 tipo de context:
Activity Context, é o contexto de uma tela (alocado quando enquanto uma activity é criada e cada activity tem um context), ou seja, ao exibir uma Dialog é preciso saber em que contexto (Sobre que tela) ela vai ser exibia.
Application Context, é o contexto da aplicação, este esta sempre em memoria ao longo que a aplicação esta rodando. Uma utilização para esse contexto é chamar uma Toast, não importa a tela que esteja sendo apresentada, o Toast vai ser apresentada sobre a aplicação, ou seja, o contexto para exibir é a aplicação.

Em suma, Context é dependente de uma activity… e quando você usa “this” em um Dialog ou Toast você esta passando o Context da Activity em exibição.

Ps. É de boa práticas manter o Context da activity apenas na Activity por causa de uso de memoria… quando não há outro meio use, mas deixe em ultimo caso.

Criado 28 de maio de 2013
Ultima resposta 29 de mai. de 2013
Respostas 1
Participantes 2