从源码分析 Application、Activity、Service 中 Context 的关系和区别_判断context是否是application-程序员宅基地

技术标签: Context  Android底层原理解析  android  源码  ContextImpl  

从源码分析 Application、Activity、Service 中 Context 的关系和区别


我们来简单回顾一下 Context 是什么?

Context 被翻译成上下文,是应用程序环境的全局信息接口,它是一个抽象类,其实现由 Android 系统提供的 ContextImpl 类。我们通过 Context 可以非常方便的访问应用程序的资源和类,以及可以进行应用程序级的各种操作,比如启动 Activity 和 Service、注册和发送广播、权限操作、主题操作、存储对象操作等等。它简直是一个万能类!难怪我们需要经常用到它。

Context 及 Context 家族,请参考《从 Context 家谱来聊一聊 Context 家族使用的设计模式?》

实际开发中,我们课可以从使用场景上,将 Context 分为:Application、Activity 和 Service 三种类型。本文将从使用场景作为切入点,分别介绍 Context 的创建、使用等过程和它们之间的联系和区别。

最后,我们再来想一个问题:一个应用在运行过程中,到底有多少个 Context 对象呢?

Application 中的 Context

我们首先来看 Application 中的 Context 的创建及赋值过程。

mBase 的赋值过程

我们来看 Application 的定义:


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011578734/article/details/113757977

智能推荐

三种方案解决:npm WARN config global --global, --local are deprecated. Use --location=global instead._npm warn config global `--global`, `--local` are d-程序员宅基地

文章浏览阅读2.8w次,点赞27次,收藏57次。三种方案解决:npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.告警、报错。_npm warn config global `--global`, `--local` are deprecated. use `--location

H264---播放顺序POC(pic_order_cnt)---pic_order_cnt_type=0、1、2 + POC和framenum比较-程序员宅基地

文章浏览阅读3.5k次,点赞4次,收藏17次。一、基本概念1、编码顺序H.264的码流输出顺序便是编码顺序,所以在编码B帧的时候,由于B是双向预测,需要先编码后面编码帧P/I,这时候先输出I/P,后面才有B帧,我们在解码段拿到相应的I/P帧后,不能马上丢到buffer list里面,还需要等待后面的B帧,解码B帧后再reorder。2、frame_num每个参考帧都有一个依次连续的frame_num 作为它们的标识,这指明了各图像的解码顺序。在非参考帧的slice header中也会出现frame_num,不过该语法元素只有在参考帧才有意义。H_pic_order_cnt_type

用VIM编写C/C++程序_a)使用 vim 编辑,通过c/c++ 语言编写串行程序axpy 程序进行如下向量加法运算 y[-程序员宅基地

文章浏览阅读1.7k次。转自http://blog.chinaunix.net/space.php?uid=20653353&do=blog&id=1906089Vi是Unix下最常用的文本编辑器。VIM(Vi IMproved)则是它的增强版。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。用过emacs的人肯定会为emacs的一些快捷键感到烦恼,有时候用_a)使用 vim 编辑,通过c/c++ 语言编写串行程序axpy 程序进行如下向量加法运算 y[

selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘解决_webdriverexception: message: 'chromedriver'…-程序员宅基地

文章浏览阅读10w+次,点赞218次,收藏340次。 今天在做selenium测试的时候,可能是很久没用了,直接报了这个异常! 相信很多第一次学习selenium的同学们也对这个异常不陌生了,但具体该如何解决这个bug呢? ..._webdriverexception: message: 'chromedriver'…

思科网络设备 show version命令输出内容详解-程序员宅基地

文章浏览阅读5.7k次,点赞6次,收藏17次。show versionshow version命令可用于检验和检修启动过程中使用的一些基本硬件和软件组件。验证设备的内存、接口和许可Router#show version Cisco IOS Software [Everest], ISR Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 16.6.4,RELEASE SOFTWARE (fc3)Technical Support: http://www.cisco.com/techsuppor_show version

正向生成数据库mysql,Oracle数据库向Mysql进行数据迁移(二)(正向工程)-程序员宅基地

文章浏览阅读136次。上篇文章,通过逆向工程获得了Oracle数据模型,在本篇文章中,我们通过正向工程,将Oracle数据模型转换成MySQL数据模型。1首先是选定数据模型,工具----》Generate Physical Model 2.选择我们要转换成的目标数据模型,这里我要转换成Mysql ,因此我选择Mysql 根据业务的不同,自行选择。然后点击应用,确定,就会生成Mysql 的数据模型。3.模型创建完毕后,让..._通过正向工程将其生成为本地数据库

随便推点

P2P网贷易遭黑客攻击-程序员宅基地

文章浏览阅读157次。本文讲的是 P2P网贷易遭黑客攻击,P2P网贷的超高利率并不是那些缺乏现金的借款人唯一担心的事情,这些大批新兴的互联网金融网站也吸引了网络罪犯的注意。他们盯上了用户的账户信息,并将这些信息用于盗取存款,申请信用卡,或者进行其它形式的盗窃。网络安全公司InterlCrawler的总裁兼首席情报官安德鲁·卡马洛夫认为,“这似乎是新一轮的欺诈行为”。公司通过..._p2p网贷攻击事件

django配置(一)STATIC_ROOT-程序员宅基地

文章浏览阅读483次。说在前面:最近学习的视频课程也逐渐到尾声了,来记录一些django中需要注意的配置修改MEDIA_ROOT:在说STATIC_ROOT之前,必须得提一下MEDIA_ROOT,在配置中,当你需要在你的项目中按照你心中的目录来存储文件时,MEDIA_ROOT是必不可少的。# 文件存储配置MEDIA_URL = '/media/'MEDIA...

翻译 | webpack 2 的入门手册-程序员宅基地

文章浏览阅读87次。背景一直对webpack的打包流程很感兴趣,但是无奈官网文档实在太多,搜出来的大部分文章要么偏理论要么纯粹讲过程不讲原理,最近终于找到一篇入门文章,文章对于初学者讲的很清晰,但是由于是英文的,而且我没有找到这篇文章对应的中文翻译版,所以本文主要是对那篇文章进行翻译,介绍一下webpack2的入门知识。webpack2入门手册(译文)Webpack是...

杂文散谈:SLAM的未来与发展趋势_slam算法在控制工程应用及发展趋势-程序员宅基地

文章浏览阅读3.4k次,点赞6次,收藏20次。作者:深蓝学院链接:https://zhuanlan.zhihu.com/p/44938806来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 2018年7月底,深蓝学院发起并承办了“第一届全国SLAM技术论坛”。浙江大学章国锋老师、香港科技大学沈劭劼老师、上海交通大学邹丹平老师、中科院自动化所申抒含老师在“圆桌论坛:SLAM技术发展趋势”上分享了SLAM..._slam算法在控制工程应用及发展趋势

ubuntu12.04使用eclipse快捷键设置--关于alt+/无法使用,ubuntu删除alt快捷键_key to show hud eclipse-程序员宅基地

文章浏览阅读1.8k次。一直困扰了我很长时间的问题:ubuntu12.04相比旧版本新增了快捷键alt,所以,在更改eclipse时,会遇到怎么按alt都会出来dash home 那里都会出来menu,导致根本无法操作alt+/快捷键……很烦人的快捷键……关掉它也浪费了我很多时间。首先,12.04新增的win快捷键很不错,长按键盘上的win键,可以显示出所有的快捷键,让我们很方便查询学习,可以看到alt连接的是rev_key to show hud eclipse

湖北自考计算机无纸化考试试题,武大:包括行政管理在内所有专业自考都已停招...-程序员宅基地

文章浏览阅读202次。网爆武大行政管理自考停招 武大:所有专业自考都已停招新京报讯(记者 樊朔)近日,有网友爆料武汉大学行政管理专业停止自考招生。1月9日下午,武汉大学继续教育学院工作人员向新京报记者确认上述消息属实,并称所有专业的自考招生已全部停止。网友发布的聊天截图显示,武汉大学行政管理专业(专/本科)于2020年1月5日起停止新生注册。1月9日下午,武汉大学继续教育学院的一名工作人员告诉记者,目前该校所有自考专业..._小自考无纸化

推荐文章

热门文章

相关标签