GetApplicationContext(), getBaseContext(), getApplication(), getParent()

В чем разница между:

  • getApplicationContext()
  • getBasecontext()
  • getApplication()
  • getParent()

Можете ли вы рассказать об одном простом примере?

Ответ 1

getApplicationContext() Контекст приложения связан с Приложением и всегда будет одинаковым на протяжении всего жизненного цикла.

getBasecontext() не следует использовать, просто используйте Context вместо него, который связан с активностью и может быть уничтожен при уничтожении активности.

Ответ 2

getApplicationContext() Контекст приложения связан с Приложением и всегда будет одинаковым на протяжении всего жизненного цикла.

getBasecontext() не следует использовать, используйте вместо него контекст, который связан с активностью, и может быть уничтожен при уничтожении активности.

getApplication() доступен только для Activity и Services. Хотя в настоящих реализациях Android Activity и Service getApplication() и getApplicationContext() возвращают один и тот же объект, нет гарантии, что это всегда будет так (например, в конкретной реализации поставщика). Поэтому, если вы хотите, чтобы класс Application, который вы зарегистрировали в манифесте, вы никогда не должны вызывать getApplicationContext() и применять его к вашему приложению, потому что это может быть не экземпляр приложения (который вы, очевидно, испытали с тестом рамки).

getParent() возвращает объект активности, если текущее представление является дочерним. Другими словами, возвращается объект активности, в котором размещается дочерний вид при вызове внутри дочернего элемента.