Android内核之Context
2016-01-08 23:41
323 查看
Context是什么?
一个Context意味着一个场景,一个场景就是用户和操作系统交互的一个过程,比如当你打电话时,场景包括电话程序对应的界面,以及隐藏在界面后的数据;当你看短信界面时,场景包括短信界面,以及隐藏在背后的数据.Activity是基于Context,而Service类也是基于Context。Activity除了基于Context类外,还实现了一些其他重要接口,从设计的角度来看,interface仅仅是某些功能而extends才是类的本质,即Activity的本质是一个Context,其所实现的其他接口只是为了扩充Context的功能而已,扩充后的类称为一个Activity或者Service。
Activity中包含很多方法特别的方法,比如onCreate(),onPause(),onStart()等方法,这些只有Activity才有的,那么就可以提出真正意义上的场景类,假设命名为Task,同时假设Context类不是一个abstract类,而是一个interface,那么Task类就会变成这个样子
[code]class Task implements Activity,Context,.....
一个应用中包含多少个Context对象
在以往的应用程序开发中,经常会调用Context的一些方法,这些方法看起来似乎会返回一些全局的对象,而不仅仅是某个Activity,一个应用程序到底有多少个Context对象呢?比如,Context.getResource()返回该应用程序所对应的Resources类对象,无论从哪个Activity中调用,都会返回同一个Resources对象.
这里可以明确的是:
- 一个Activity就是一个场景(Context),一个Service也是一个场景,所以,应用程序中有多少个Activity或者Service,就会有多少个Context对象
- getResource()等方法的确返回的是同一个全局对象.至于这是如何实现的
Context相关类的继承关系
相关文章推荐
- Android开发秘籍学习笔记(十三)
- Android绘图机制(三)——自定义View的实现方式以及半弧圆新控件
- Android绘图机制(三)——自定义View的三种实现方式以及实战项目操作
- 【Android】利用ArrayAdapter/SimpleAdapter创建ListView
- android开发之给LinearLayout增加点击效果
- (六)Android中Service通信
- 如何分析Android的Log
- Android设置监听回调的方式
- Android项目里,strings文件中字符串的格式化用法
- [Android]构建boot.img(三):boot.img的生成与结构
- [Android]构建boot.img(一):root目录与ramdisk.img的生成
- android132 360 05 手机定位
- android studio单元测试
- 【Android Studio】常用快捷键
- Android图片处理
- 【Android Studio】Gradle DSL method not found:'android()'
- Android SearchView设置与用法的那点事儿
- Android 的生命周期知识点问答
- 让多个fragment切换时不被实例化 android
- android 返回键的捕获