L'activité et le contexte sont-ils identiques ou y a-t-il des différences?
Quand dois-je faire passer une méthode à une activité, et quand un contexte?
L'activité et le contexte sont-ils identiques ou y a-t-il des différences?
Quand dois-je faire passer une méthode à une activité, et quand un contexte?
Réponses:
Pour autant que je sache: le
contexte est l'objet de base. Ainsi, chaque activité identique à l' application dérive du contexte. Cela signifie que chaque activité et chaque Application
IS a Context
;
De l' developer.android.com
activité
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
Et application
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
Un contexte d'application dure, tant que votre application est active, tandis que le contexte d'activité meurt avec votre activité (il n'est pas valide après onDestroy
cette activité).
Donc, si vous avez besoin du contexte à travers les activités (c'est-à-dire dans un singleton), vous serez mieux d'utiliser un contexte d'application.
Habituellement, sur les méthodes Android Framework où un contexte est attendu, celui que vous transmettez ne fait aucune différence. Mais soyez toujours conscient de MemoryLeaks si vous conservez des références de longue date à un contexte
Comme vous pouvez le voir sur le doc Android :
La classe Activity s'étend de "ContextThemeWrapper", et celle-ci de "ContextWrapper", et celle de "Context".
Alors, oui, une activité étend le contexte!