getApplicationContext 取得的Context是和Application关联的,生命周期是从应用的创建到销毁.
Activity.this 扩展了Context,其生命周期是Activity 创建到销毁。
搞清楚了生命周期接下来就好理解了。
比如有一个全局的数据库操作类,用到了context, 这个时候就要用到getApplicationContext , 而不是用ACtivity, 这就保证了,数据库的操作与activity无关.
另外:Activity是跟Windows相关,而getApplicationContext是跟Windows无关的。所以新建对话框的时候要用到Activity.this,否则会出错。