Я не мог найти удовлетворительного ответа на этот вопрос, поэтому мы идем: что сделка с Activity/Service.getApplication()
и Context.getApplicationContext()
?
В нашем приложении оба возвращают один и тот же объект. Тем не менее, в ActivityTestCase
, насмехаясь над приложением, getApplication()
возвращается с макетом, но getApplicationContext
все равно будет возвращать другой экземпляр контекста (один из которых вводится Android). Это ошибка? Это специально?
Я даже не понимаю разницы в первую очередь. Существуют ли случаи вне тестового набора, где оба вызова могут возвращаться с разными объектами? Когда и почему? Более того, почему getApplication
определяется на Activity
и Service
, но не на Context
? Должен ли всегда существовать допустимый экземпляр приложения из любого места?