用AlertDialog 举例
AlertDialog对象是依赖于一个View的,而View是和一个Activity对应的,在Activity销毁的时候它也就销毁了,不会再存在。Activity.this,是这个语句所在的Activity的this,是这个Activity 的上下文。而this.getApplicationContext()取的是这个应用程序的Context。如果传入this.getApplicationContext(),就表示它的生命周期是整个应用程序,这显然超过了它的生命周期了。
getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁
Activity.this的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁
getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文