getApplication()和getApplicationContext()区别

来源:互联网 发布:淘宝密令红包怎么抢 编辑:程序博客网 时间:2024/06/05 14:10

相同

二者使用结果相同,我们写个代码分别打印二者返回结果,发现两个方法获取的是同一个对象。

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

3 0