Caused by: android.view.WindowManager$BadTokenExce

有時候,若是採用getApplicationContext()傳入Context,會出現如上錯誤。此時若採用傳入當前activity.this,則不會出錯。this

二者的區別是:spa

getApplicationContext()返回應用的上下文,其生命週期是整個應用程序,應用程序銷燬,它即銷燬;
activity.this表明當前activity的上下文,其生命週期是該activity,該activity銷燬,它即銷燬生命週期

有人這樣回答:get

getApplicationContext() 能夠保證程序在運行期間有且只有一個實例,而 Activity.this 這個 Activity 的實例可能會被垃圾回收。it

相關文章
相關標籤/搜索