在日常开发中,有很多函数都会传递一个Context,那么对于初学者来讲,Context在我们开发人员中,经常被翻译为 上下文,这让很多人会懵逼。
As We Know,Activity、Service、Application都是继承自Context,那么它究竟是个什么鬼?
Android系统中的上下文对象,即使在Context中,为我们封装了这样一个语境。在我们启动一个Activity的时候,系统会创建一个Application的对象,此时它有一个全局的Application的Context对象,它拥有整个应用进程的生命周期,为应用全局提供了功能和环境支持。在创建Activity和Service的时候,也会创建一个上下文的Context,它伴随着当前Activity、Service的生命周期。
因此我们在Activity中可以直接使用this关键字来获取Context对象。(在匿名内部类中,必须用Activity.this来获取Context)
在获取整个应用的Context的时候,我们可以使用getApplicationContext()方法来获取引用。
如果还是不理解,暂时可以这样看:我们在语文阅读题的时候,经常会看到“请联系上文,回答以下问题:...”。可以把把Context当做一个 当前的语境、当前的环境来看待(即联系上下文的情景,做某些事情)。