Context理解

Context意思是上下文,环境. 我们通过它访问当前包的资源(getResources、getAssets)和启动其他组件(Activity、Service、Broadcast)以及得到各种服务(getSystemService)等等

我们可以通过getApplicationContext和activity.this获得context对象,
二者区别在于,前一个获得的是应用的context,只有一个,应用销毁时才会销毁;后一个获得的是activity的context,每个activity都有一个,当activity销毁时就会销毁

在很多方法中都要求传入context对象,我们可以通过传入getApplicationContext来传入context对象,这样的意思是:因为getApplicationContext获得的是整个应用唯一的context,所以相当于每个方法传入的都是同一个对象,不管方法在哪定义的;
而传入activity.this的意思是:传入的是由当前activity获得的context,每个activity获得的不是同一个context对象

context作为参数传入时,这两种方法的区别我暂时不是很清楚,不过在Dialog中应该传入的是activity.this,因为Dialog是依附于activity的,会随之销毁而销毁

猜你喜欢

转载自blog.csdn.net/ling45654/article/details/77817163