Context类与相关子类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Context类与相关子类相关的知识,希望对你有一定的参考价值。

  android的应用程序弱化了Linux里的进程的概念,第三方应用开发者看到的都是一个个组件,比如常见的四大组件中的Activity,Service,Application等。这些组件需要存在于一个程序执行的上下文环境,Context抽象类的作用既是定义这样的一个环境,环境里的具体的各个组件的生存环境(抽象方法与接口),由其子类来具体实现。

       Context提供了获取应用环境信息的能力(子类具体实现的API),可以对本应用相关的组件进行操作,比如启动Activity,也可以获取本应用相关的资源。利用Context,我们可以用来对构成应用的基础组件执行相应的操作。

       这个类族的继承与委托结构如下

技术分享

IDE里完整的看起来是这样

技术分享

其中ContextImpl类为抽象类Context的方法实现者,是上下文功能实现者;上下文功能封装类ContextWrapper会放置一个对ContextImpl对象的引用(mBase),实现的抽象方法通过调用mBase的方法来实现(此为封装之意,mBase为其委托)。Application,Service,Activity可以各自扩展Context,并自定义逻辑替代扩充mBase的方法。

下面先看Context类,这个类看着东西很多,其实很多都是注释

 

以上是关于Context类与相关子类的主要内容,如果未能解决你的问题,请参考以下文章

安卓Context-外观设计模式

安卓Context-外观设计模式

Context与ApplicationContext

android context

Android进阶笔记-7. Context详解

关于Context