getApplicationContext和Activity.this两种上下文的区别

一般情况下getApplicationContext和Activity.this是可以互换使用的
但是在对话框中必须要使用Activity.this,这是因为:

如果这里写图片描述
会报如下的错这里写图片描述
这是因为Activity.this是getApplicationContext(返回值为Context)的子类,子类特有的token,父类是没有的,所以这里只能用Activity.this而不能使用getApplicationContext

如果你搞不清楚的话,永远推荐使用Activity.this就行了,只不过Activity.this生命周期短,Activity不存在了,系统就回收了

而当多个页面要操作数据库时,应该使用getApplicationContext,因为这个只要应用存活就一直存活

此外可参照下面的文章
安卓开发:在Activity中使用getApplicationcontext()与this获取上下文对象的区别

Activity.this和getApplicationContext()的区别

你可能感兴趣的:(区别,context,上下文)