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。