Caused by: android.view.WindowManager$BadTokenExce

有时候,如果采用getApplicationContext()传入Context,会出现如上错误。此时若采用传入当前activity.this,则不会出错。

两者的区别是:

getApplicationContext()返回应用的上下文,其生命周期是整个应用程序,应用程序销毁,它即销毁;
activity.this代表当前activity的上下文,其生命周期是该activity,该activity销毁,它即销毁

有人这样回答:

getApplicationContext() 可以保证程序在运行期间有且只有一个实例,而 Activity.this 这个 Activity 的实例可能会被垃圾回收。

你可能感兴趣的:(Caused by: android.view.WindowManager$BadTokenExce)