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

Ответы:

33

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

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

Harinder
источник
16
как насчет getApplication () и getParent ()
Никундж Патель
107

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

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

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

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

Рави
источник
16
Как вы упомянули, нам не следует использовать getBaseContext (), если он не так важен, то зачем он нужен в коде и каковы его основные преимущества. пожалуйста, расскажите мне об этом
Пир Фахим Шах
getBaseContext () следует использовать в очень специфических ситуациях. Существует очень хорошее объяснение здесь - medium.com/@ali.muzaffar/...
Ломжа