Android之所以不同于java,源于java工程简单,随便一个main方法便可运行起来,而android工程需要依赖一些特定的android环境,在此环境中需要衔接好各组件的正常运作,context起着至关重要的作用。
获取上下文有三种方式,其一是xxxActivity.this : 这是一个activity实例,是activity的上下文,对话框的使用需依赖此上下文(对话框是activity的一部分)。
其二是getApplicationContext : 这是一个Context实例,获得Activity父类的上下文,布局或者吐司都依赖此上下文(吐司不属于activity,可见于activity关闭时吐司正常运行)。
其三是getContext : 主要用于Unit Test中,类比getApplicationContext取到的是application对象,生命周期是整个应用,getContext一般返回activity对象(还可以是其他对象),生命周期是activity。