web-dev-qa-db-fra.com

getApplicationContext (), getBaseContext (), getApplication (), getParent ()

Quelle est la différence entre:

  1. getApplicationContext()
  2. getBasecontext()
  3. getApplication()
  4. getParent()

Pouvez-vous élaborer avec un exemple simple?

93
Nikunj Patel

getApplicationContext() Le contexte d'application est associé à l'application et sera toujours le même tout au long du cycle de vie.

getBasecontext() ne devrait pas être utilisé, utilisez simplement Context à la place de celui qui est associé à l'activité et peut être détruit lorsque l'activité est détruite.

32
Harinder

getApplicationContext () Le contexte d'application est associé à l'application et sera toujours le même tout au long du cycle de vie.

getBasecontext () ne doit pas être utilisé, utilisez plutôt le contexte qui est associé à l'activité et qui pourrait éventuellement être détruit lorsque l'activité est détruite.

getApplication () est disponible pour Activity and Services uniquement. Bien que, dans les implémentations actuelles Android d'Activité et de Service, getApplication () et getApplicationContext () renvoie le même objet, il n'y a aucune garantie que cela sera toujours le cas (par exemple, dans une implémentation de fournisseur spécifique). Ainsi, si vous souhaitez que la classe Application que vous avez enregistrée dans le Manifeste, vous ne devez jamais appeler getApplicationContext () et l'intégrer à votre application, car il ne s’agit peut-être pas de l’instance d’application (que vous avez évidemment expérimentée avec le framework de test).

getParent () renvoie l'objet de l'activité si la vue actuelle est un enfant..En d'autres termes, renvoie l'activité d'activité hébergeant la vue enfant lorsqu'il est appelé dans l'enfant.

105
Ravi