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

Jaka jest różnica między:

  1. getApplicationContext()
  2. getBasecontext()
  3. getApplication()
  4. getParent()
Czy możesz rozwinąć jednym prostym przykładem?
Author: Andrew T., 2011-07-28

2 answers

getApplicationContext() kontekst aplikacji jest powiązany z aplikacją i zawsze będzie taki sam przez cały cykl życia.

getBasecontext() nie powinno być używane, po prostu użyj Context zamiast tego, co jest związane z aktywnością i może zostać zniszczone, gdy aktywność zostanie zniszczona.

 29
Author: Harinder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-10 03:34:09

GetApplicationContext () kontekst aplikacji jest powiązany z aplikacją i zawsze będzie taki sam przez cały cykl życia aplikacji.

GetBasecontext () nie powinno być używane, wystarczy użyć kontekstu zamiast niego, który jest powiązany z aktywnością i może zostać zniszczony, gdy aktywność zostanie zniszczona.

GetApplication () jest dostępne tylko dla aktywności i usług. Chociaż w obecnych działaniach i wdrożeniach usług Android, getApplication () i getApplicationContext () zwracają ten sam obiekt, nie ma gwarancji, że zawsze tak będzie (na przykład w konkretnej implementacji dostawcy). Więc jeśli chcesz, aby Klasa aplikacji została zarejestrowana w manifeście, nigdy nie powinieneś wywoływać getApplicationContext () i rzucać jej do swojej aplikacji, ponieważ może to nie być instancja aplikacji (której oczywiście doświadczyłeś z frameworkiem testowym).

GetParent () zwraca obiekt aktywności, Jeśli bieżący widok jest child..In inne słowa zwracają obiekt activity, w którym znajduje się widok potomny, gdy zostanie wywołany wewnątrz dziecka.

 100
Author: Ravi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-15 07:25:34