J'ai googlé cette question beaucoup et ont trouvé de nombreuses recommandations différentes sur le moment d'utiliser getBaseContext, getApplicationContext ou propre de l'activité ce aiguille.règles Diffinitive pour l'utilisation getBaseContext Android, getApplicationContext ou en utilisant un « this » de l'activité
Trois règles qui viennent souvent et semblent faire beaucoup de sens sont -
- Pour une référence à long terme à une activité de contexte getApplicationContext doit être utilisé comme cela existe aussi longtemps que votre application existe
- pour contextes dont les cycles de vie sont liés à leurs activités, leur propre contexte d'activité (ce) doit être utilisé
- pointeurs de contexte de magasin statiquement seulement avec une grande prudence (et, si possible, pas du tout)
En supposant que ces sont corrects, ce qui est l'utilisation de getBaseContext?
j'ai vu un grand nombre d'exemples où de nouvelles intentions créées à l'aide -
Intent intent = new Intent(getBaseContext(), myClass.class);
Contrairement à -
Intent intent = new Intent(this, myClass.class);
Quel est le bon, ou recommandé, la méthode et pourquoi?
Vous avez peut-être répondu à ma question mais, pour clarifier, quelle est la meilleure façon de créer une nouvelle intention? Et pouvez-vous donner des exemples de quand utiliser getBaseContext? – Rok
Regardez cette question: http://stackoverflow.com/questions/1026973/android-whats-the-difference-between-the-various-methods-to-get-a-context – Karan
Merci de me répondre si rapidement , Karan. C'est l'une des pages que j'ai regardées. Il mentionne "n'utilisez pas getBaseContext - utilisez simplement le contexte que vous avez". Évidemment, j'apprécie énormément les commentaires de Diane, mais cela n'explique pas pourquoi getBaseContext est si souvent utilisé lors de la création d'intentions. – Rok