Je pense qu'il y a beaucoup de choses qui est mal documenté sur le SDK site, c'est l'un d'entre eux. La demande que je vais faire, c'est qu'il me semble que c'est mieux de défaut à l'aide d'un contexte d'application et d'utiliser uniquement un contexte d'activité lorsque vous en avez vraiment besoin. Le seul endroit où j'ai jamais vu que vous avez besoin d'un contexte d'activité est pour une boîte de dialogue de progression. SBERG412 prétend que vous avez à utiliser un contexte d'activité pour un toast message, mais le Android docs montrent clairement un contexte d'application utilisé. J'ai toujours utilisé le contexte de l'application pour des toasts à cause de cela, Google exemple. Si c'est mal de le faire, Google a laissé tomber la balle ici.
Voici plus d'informations à réfléchir et à revoir:
Pour un toast message, le Google Dev Guide utilise le contexte de l'application et explicitement dire de l'utiliser:
Les Notifications Toast
Dans les boîtes de dialogue de la section de la Dev guide, vous voyez qu'un AlertDialog.Le constructeur utilise le contexte de l'application, puis la barre de progression utilise un contexte d'activité. Ce n'est pas expliqué par Google.
Les boîtes de dialogue
Il semble comme une bonne raison d'utiliser le contexte de l'application, c'est quand vous voulez pour gérer les modifications de configuration comme un changement d'orientation, et vous souhaitez conserver les objets qui ont besoin d'un contexte comme point de Vue. Si vous regardez ici: Exécuter les Changements de Temps
Il y a une mise en garde sur l'utilisation d'un contexte d'activité, ce qui peut créer une fuite. Ceci peut être évité avec un contexte d'application avec les vues qui sont à conserver (au moins, c'est ma compréhension). Dans une application que je suis en train d'écrire, j'ai l'intention d'utiliser une application de contexte parce que je suis en train d'essayer de tenir plus de quelques points de vue et d'autres choses sur un changement d'orientation, et j'ai encore envie de l'activité à détruire et recréer à l'changements d'orientation. Donc je dois utiliser une application de contexte afin de ne pas provoquer une fuite de mémoire (voir en Évitant les Fuites de mémoire). Pour moi, il semble que il ya beaucoup de bonnes raisons pour utiliser le contexte de l'application au lieu d'un contexte d'activité, et pour moi, il semble presque comme vous l'utiliser plus souvent que d'un contexte d'activité. C'est ce que Android nombreux livres que j'ai traversé semblent le faire, et c'est ce que beaucoup de la Google les exemples que j'ai vu faire.
Le Google de la documentation donne vraiment l'impression d'utiliser le contexte de l'application est parfaitement bien dans la plupart des cas, et, en fait, apparaît le plus souvent à l'aide d'un contexte d'activité dans leurs exemples (au moins les exemples que j'ai vu). Si c'est vraiment un problème pour utiliser le contexte de l'application, Google a vraiment besoin de mettre plus d'accent sur ce point. Dont ils ont besoin pour faire clair, et ils ont besoin de refaire certaines de leurs exemples. Je ne le blâme pas totalement inexpérimentés développeurs car l'autorité (Google) a vraiment fait ressembler ce n'est pas un problème pour utiliser l'application à des contextes.