相同
二者使用結果相同,我們寫個代碼分別打印二者返回結果,發現兩個方法獲取的是同一個對象。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Application application = getApplication();
Log.i("WY", "打印getApplication:" + application);
Context pContext = getApplicationContext();
Log.i("WY", "打印getApplicationContext:" + pContext);
}
}
區別
getApplication()是用來獲取Application實例的,但是該方法只在Activity和Service中才能調用;在一些其他的地方,比如說當我們在BroadcastReceiver中也想獲取Application實例,這時就需要使用getApplicationContext()方法