Context 面试 笔记

本文详细探讨了Android中的Context,包括Context关联类的设计,如ContextImpl、ContextWrapper及其子类ContextThemeWrapper、Service和Application。分析了Application和Activity Context的创建过程时序图,揭示了Context在Android系统中的核心作用。
摘要由CSDN通过智能技术生成

Activity、Service和Application 都间接地继承自 Context,因此我们可以计算出去一个应用进程中有多少个Context,这个数量等于Activity和Service的总个数加1,1指的是Application 的数量

//#################################分割线 #################################################

Context关联类

在这里插入图片描述

ContextImpl 内部包含Context类型的mBase对象,mBase 具体指向ContextImpl。ContextImpl提供了很多功能,但是外界需要使用并扩展ContextImpl的功能,因此设计上使用了装饰模式,ContextWrapper是装饰类,它对ContextImpl进行包装,ContextWrapper主要起了方法传递的作用,ConttextThemeWrrapper中几乎所有的方法都是调用ContextImpl的相应方法来实现的。ContextThemeWrapper、Service 和 Application都继承自ContextWrapper,这样他们都可以通过mBase来使用Context的方法,同时它门也是装饰类,在ContextWrapper的基础上又添加了不同的功能。

//#################################分割线 #################################################

Application Context 创建过程时序图

在这里插入图片描述

//#################################分割线 #################################################

Activity Context 创建过程时序图

在这里插入图片描述

//#################################分割线 #################################################

Service Context 创建过程时序图 参考 Activity

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值