浅析Android的Context

欢迎访问我的个人网站:https://coderyuan.com

Context是Android App中用的非常多的一种概念,常被翻译成上下文,这种概念在其他的技术中也有所使用,无意间点了Context的源码,那么就来分析分析Context在Android中到底是什么东西?

先贴段代码

/**
 * Interface to global information about an application environment.  This is
 * an abstract class whose implementation is provided by
 * the Android system.  It
 * allows access to application-specific resources and classes, as well as
 * up-calls for application-level operations such as launching activities,
 * broadcasting and receiving intents, etc.
 */
public abstract class Context {
   

通过注释可以看出,Android官方对它的解释,大概可以理解为应用程序环境中全局信息的接口,它整合了许多系统级的服务,可以用来获取应用中的类、资源,以及可以进行应用程序级的调起操作,比如启动Activity、Service等等,而且Context这个类是abstract的,不包含具体的函数实现。

那就意思是能干很多事,反正很牛逼的样子。。。

于是搜了一下Context的引用,多的不能再多了

Context的引用

结构分析

Context类中包含了两类内容:常量抽象方法定义

由于Context本身是abstract的,所以它只负责定义需要的操作,具体的实现它并不关心,而直接继承于Context的ContextWrapper虽然并不是使用abstract修饰,但并没有做实际的实现,只是做了简单的包装,以便更好的呈现给Application、Service这样的类。我们所能看到的对Context做第一层实现的,应该是位于android.app包下的ContextImpl

Context的继承关系

于是先分析ContextImpl中的成员变量(包括静态的、final的、public的、private的),以下源码中是ContextImpl的所有成员变量:

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值