getApplication()和getApplicationContext()區別

相同

二者使用結果相同,我們寫個代碼分別打印二者返回結果,發現兩個方法獲取的是同一個對象。

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()方法

發佈了79 篇原創文章 · 獲贊 89 · 訪問量 91萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章