J'ai googlé cette question beaucoup de choses et nous avons trouvé une multitude de recommandations sur l'utilisation getBaseContext, getcontexteapplication ou une Activité propre de ce pointeur.
Trois règles qui reviennent souvent et qui semble faire beaucoup de sens sont -
- Pour une longue durée de vie de référence pour une contexte de l'activité getcontexteapplication doit être utilisé comme cela existe aussi longtemps que votre l'application existe
- Pour les contextes dont les cycles de vie sont liés à leurs activités, de leur propre contexte d'activité (ce) doit être utilisé
- Magasin de contexte pointeurs de manière statique avec de grandes précautions (et, si possible, pas du tout)
En supposant que ce sont correctes, qu'est-ce que l'utilisation de getBaseContext?
J'ai vu un grand nombre d'exemples où de nouvelles intentions sont créés à l'aide de -
Intent intent = new Intent(getBaseContext(), myClass.class);
Contrairement à
Intent intent = new Intent(this, myClass.class);
Qui est le bon, ou recommandé, méthode et pourquoi?