1.getApplicationContext() 取得的Context是和应用关联的,生命周期是从应用的创建到销毁.
2.Activity.this 扩展了Context,其生命周期是Activity 创建到销毁。
例子:
1.全局的数据库操作类
用到了context, 这个时候就要用到getApplicationContext() , 而不是用Activity, 这就保证了,数据库的操作与Activity无关.
2.新建对话框`
AlertDialog.Builder builder = new AlertDialog.Builder(this);`
AlertDialog.Builder()要求传递的参数是一个context,这里的context指的是Activity.this,是这个语句所在的Activity的this,是这个Activity 的上下文。AlertDialog对象是依赖于一个View的,而View是和一个Activity对应的。在Activity销毁的时候AlertDialog也就销毁了。