android - getbasecontext - this context




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

有什麼區別:

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

你能用一個簡單的例子來闡述一下嗎?


getApplicationContext()應用程序上下文與應用程序關聯,並且在整個生命週期中始終保持相同。

不應使用getBasecontext() ,只需使用Context而不是與活動關聯的Context ,並在活動被銷毀時銷毀。


getApplicationContext()應用程序上下文與應用程序相關聯,並且在整個生命週期中始終保持相同。

不應使用getBasecontext() ,只要使用Context而不是與活動關聯的Context,並且在活動被銷毀時可能會被銷毀。

getApplication()僅適用於Activity和Services。 儘管在當前的Android Activity和Service實現中, getApplication()getApplicationContext()返回相同的對象,但不能保證這總是如此(例如,在特定的供應商實現中)。 因此,如果您想要在Manifest中註冊的Application類,則不應該調用getApplicationContext()並將其轉換為您的應用程序,因為它可能不是應用程序實例(您明顯體驗過測試框架)。

如果當前視圖是子視圖,則getParent()返回該活動的對象。換言之,返回在子視圖中調用時託管子視圖的活動對象。





android-context