Context,Service,Application,Activity的区别?

11 篇文章 4 订阅
订阅专栏

Activity,Service,Application 关系图。 (课外)ContextWrapper和是一种装饰模式

1.        ContextWrapper就是一个包装类没有具体的实现,真的是逻辑代码都在ContextImpl中,ContextImpl继承自抽象类Context,并实现了其中的抽象方法。

2.        Context类是最上层的抽象类,在内部定义了大量的抽象方法,其startActivity方法也定义其中。

3.        Activity继承自ContextThemeWapper而ContextThemeWapper又继承自ContextWrapper,最终ContextWrapper才继承自Context。 切记在ContextWapper中是持有Context引用的,而这个Context其实就是ContextImpl也就持有ContextImpl对象。

 那么ContextImpl是在何时被创建, 即在 ActivityThread中调用getHandler()方法这个方法返回了以一个H对象,

 在处理这段调用主要调用了handelLaunchActivity方法来处理没在这个方法中又调用了performLaunchActivity方法获取到了Activity的实例。

 在performLaunchActivity中会对Activity进行大量的初始化参数。

 

 

并且可以看出Activity和Application,Context是密不可分的.

那么我们分析下createBaseContextForActivity是怎么初始化ContextImlp的,

 在createBaseContextForActivity方法中通过ContextImpl的静态方法,createActivityContext方法获取到ContextImpl实例对象,并通过setOuterContext进行和Activity关联。

而Application中就比较简单了同过,markeApplication 创建了一个 Application而这个Application就贯穿全局了。

从此得出 Activity(个数)+Service(个数)+1个Application =Context个数。

从源码分析 ApplicationActivityServiceContext 的关系和区别
卜大爷的博客
02-08 2万+
从源码分析 ApplicationActivityServiceContext 的关系和区别 我们来简单回顾一下 Context 是什么? Context 被翻译成上下文,是应用程序环境的全局信息接口,它是一个抽象类,其实现由 Android 系统提供的 ContextImpl 类。我们通过 Context 可以非常方便的访问应用程序的资源和类,以及可以进行应用程序级的各种操作,比如启动 ActivityService、注册和发送广播、权限操作、主题操作、存储对象操作等等。它简直是一个万能
Android面试八股文】为什么Dialog不能用ApplicationContext
最新发布
字节卷动
06-28 119
这也是Android框架设计的一个限制,确保界面元素的正确管理和显示。:窗口管理服务,负责窗口的启动、添加和删除,并管理窗口的大小和层级。是窗口的意思,对应屏幕上的一块显示区域,它的实现类是。的生命周期,可能会引起内存泄漏和崩溃等问题。之间的管理接口,管理窗口顺序和消息等。令牌,用于唯一标识系统中的一个窗口。:窗口令牌,是一种特殊的。来展示,而这个窗口环境只有。的生命周期依赖于其父。下面的示例代码演示了使用。和正确的生命周期管理。的实例,是应用窗口类型。运行后是可以获得的。服务的话,会得到一个。
ApplicationActivity
weixin_33744141的博客
12-23 450
2019独角兽企业重金招聘Python工程师标准>>> ...
AndroidAndroid中继承ActivityApplication和AppCompatActivity区别
每天不是在写bug就是在写bug的路上
06-26 677
Android中继承ActivityApplication和AppCompatActivity区别
Content是什么?Android中的Content、ActivityApplication 有什么区别
哈哈龙的博客
03-25 2967
什么是Content?Android中的Content、ActivityApplication 有什么区别Context是什么? 根据个人理解Context这个“上下文”是Android 系统的一个应用信息的描述类,也是对一些基础操作的抽象类。包含了比如StartActivity、StartService、registerReceiver等操作的抽象,同时提供了一些系统的配置信息,常量信息。Context本身不做任何操作,通过阅读源码我们知道,Context它有两个直接子类一个ContextImp
AndroidApplicationActivityContext区别
LVXIANGAN的专栏
10-24 4088
总结: 生命周期跟UI相关的,使用ActivityContext处理,如:对话框,各种View,需要startActivity的等。生命周期跟UI无关的,使用ApplicationContext,如:AsyncTask,Thread,第三方库初始化等等。 在Activity中,Activity.this和getApplicationContext()返回的不是同一个对象,一个是当前Acti...
ActivityServiceApplicationContext区别
追yi流年
03-12 5857
1、Context的类图 Context:是一个接口类,主要提供通用接口 ContextImpl:Context接口的具体实现类 ContextWrapper:Context的包装类,内部持有一个ContextImpl的实例对象mBase,对Context的操作最终都进入ContextImpl类 ContextThemeWrapper:该类内部包含了主题(Theme)相关的接口,...
android activity context,Android 获取栈最顶层ActivityApplication Context解决方案
weixin_39756235的博客
05-28 423
转自 Android 获取栈最顶层ActivityApplication Context解决方案在做类似“您的账号在异地登陆,您被迫退出”的dialog弹窗的功能时,不知道怎么获取当前Activity,刚好遇到这篇博主的文章,确实好用,在此记下。以前开发都是在别人搭完框架的情况下进行开发,今天遇到一个很头疼的问题,想要在做一个很常见的功能,当接收到极光推送的消息,就在当前页面显示一个dialog...
【源码】Service或者ApplicationContext为什么不能用来启动Dialog
qq_38872414的博客
07-19 801
ActivityContext
wfeii的博客
12-03 1288
文章目录ApplicationContext关联获取Application对象ActivityContext关联的过程Activity中的Context ActivityContext的关系图 Context是通过装饰者模式来组织的。ContextImp实现了通用的Context接口,也是为ActivityApplication提供基础的Context接口。对于装饰者类均有一个mBase...
startActivityActivityService中的不同实现,以及“Calling startActivity() from outside of an Activity”错误解决
记录和分享程序人生的点点滴滴
03-14 3781
Android应用开发过程中,通过调用startActivity可以启动另外一个Activity,参数必须包含Intent。startActivity源码分析。 Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag问题解决
ApplicationActivity的异同
今晚打老虎
11-17 6375
ApplicationActivity一样,都是Android框架的一个系统组件 应用程序每次启动时,系统会为其创建一个application对象且只有一个(单例类),用来存储系统的一些信息,相当于一个容器。 启动application时,系统会创建一个PID(进程ID),所有的activity都在这个进程上运行,在application创建时会初始化一个全局变量,同
Application, Activity, task的区别
raywang2009的博客
09-01 977
Application就是一个android应用程序。 简单的理解就是一个apk就是一个Android Application。每一个Application都是由ActivityService、content Provider和Broadcast Receiver等Android的基本组件所组成,其中Activity是实现应用程序的主体,它承担了大量的显示和交互工作,甚至可以理解为一个界面
Context —— ApplicationServiceActivity
wuseyukui的专栏
05-06 963
Android开发中,处处要用到Context,绝大对数场合下推荐的使用ApplicationContext。当然,Applicationcontext 不是万能的,不能乱用,对于有些地方则必须使用 ActivityContext,对于ApplicationServiceActivity三者的Context的应用场景如下:其中: NO1表示 Application 和 Serv
Android Application中的ContextActivity中的Context的异同
Chydison
11-11 376
https://www.cnblogs.com/ganchuanpu/p/6445251.html 一、Context是什么: 1、Context是维持Android程序中各组件能够正常工作的一个核心功能类,我们选中Context类 ,按下快捷键F4,右边就会出现一个Context类的继承结构图啦,如下图所示: 看下我用红线标出来的地方,从这里可以看到ActivityServiceApplication都是Context的子类; 2、再来从源码角度看Context类: 1 2 .
ApplicationActivityServiceContext之间的构建关系
sjm19901003的专栏
11-11 3044
ApplicationActivityServiceContext之间的构建关系ApplicationActivityServiceContext之间的构建关系 一 contextapplicationactivityservice的继承关系 二 context与三者的对应关系描述 1 ApplicationContext的关系 2 ActivityContext的关系 3 Serv
androidapplication contextactivity Context 阐释
Lighthouse
10-11 1499
前言Context在开发Android应用的过程中扮演着非常重要的角色,例如,启动一个 Activity需要使用context.startActivity方法, 将一个xml文件转换为一个View对象也需要使用Context对象, 弹窗需要context,资源获取需要,可以说没有Contextandroid开发 无从谈起Applicaiton ContextActivity Con
ApplicationServiceActivity 三者的Context的应用场景
banyinlve3147的博客
09-16 182
Applicationcontext 不是万能的,所以也不能随便乱用,对于有些地方则必须使用 ActivityContext, 对于ApplicationServiceActivity三者的Context的应用场景如下: 其中: NO1表示 ApplicationService 可以启动一个 Activity,不过需要创建一个新的 task...
Android面试深度解析:ContextActivityApplication区别
"Android面试相关知识点,包括ContextActivityApplication区别Activity间数据传递方式,Context的概念,以及短信字符限制和数据库文件的处理方法。" 1. Android中的ContextActivityApplication区别:...
写文章

热门文章

  • RecyclerView 设置滑动速度 7020
  • Android Camera 相机开发第一篇 5063
  • Android 使用广播对电话进行监听和挂断 4712
  • 关于Android适配版本Q 4645
  • WebView显示VR或者显示H5的VR链接 3755

分类专栏

  • Android 11篇
  • 区块链 1篇

最新评论

  • Android 使用广播对电话进行监听和挂断

    景高旭: 兄弟aidi 文件 那个随便搜索一下那个简单写个方法就能调用的

  • Android 使用广播对电话进行监听和挂断

    qq_33211809: 你这aidl的文件没写

  • AndroidStudio Cannot invoke method close() on null object

    景高旭: shardingsphere ?

  • AndroidStudio Cannot invoke method close() on null object

    m0_71127967: connot invok method apply() on null object 这个怎么办啊

  • 读取Assets中的数据库 .db文件

    weixin_47689863: 是在data/data/database目录下,现在我改成了用txt文件的方式已经成功导入了,非常感谢🙏

大家在看

  • Win11系统提示找不到SenseMirror.dll文件的解决办法
  • Java游戏免费下载网站:Java游戏小站
  • 单相电多相电
  • (华为配置)防火墙双机热备+BFD联动故障切换实验报告
  • 田东-OpenFOAM基础入门5学习笔记

最新文章

  • android aab转apk的方法
  • android 拍照,相册获取后的文件并适配10.0获取绝对地址
  • activity启动流程或工作流程
2023年1篇
2021年4篇
2020年3篇
2019年17篇
2018年34篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家北京开业商场美陈批发北京户外商场美陈售价苏州玻璃钢雕塑摆件售价玻璃钢动物雕塑排行榜昆明玻璃钢铜雕人物雕塑定做厂家玻璃钢雕塑公司价格表陕西户外玻璃钢雕塑设计赣州玻璃钢雕塑的用途山东欧式玻璃钢雕塑供应商上海供应精美豪华玻璃钢花盆阳江校园玻璃钢雕塑青海玻璃钢雕塑厂家择优推荐唐山玻璃钢商场美陈衢州户内玻璃钢雕塑价位保山市玻璃钢雕塑加盟商上海特色商场美陈现价玻璃钢雕塑武士马黑龙江公园玻璃钢雕塑厂家临澧玻璃钢造型雕塑玻璃钢雕塑上白色步骤黑龙江佛像玻璃钢雕塑销售厂家江苏主题商场美陈制作商场美陈的说说吉林步行街玻璃钢雕塑价位淄博市玻璃钢人物雕塑报价泰安玻璃钢雕塑定制山东仿铜玻璃钢雕塑方法清远玻璃钢雕塑厂家葫芦岛卡通玻璃钢雕塑小品玻璃钢人物雕塑包括哪些香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化