浅谈对Context的理解

题记:很多年前在乐视面试的时候遇到过Context的相关问题,早就记录下来,并查阅API等资料后总结到笔记当中,今天分享给各位,共勉。

一,在一个应用程序中有多少个Context实例?谈一下你对Android中的Context的理解?什么是Context?

1.Context的子类有哪些?

(1)Application

(2)Service

(3)Activity


         那么现在可以回答上面的问题了,一个程序中的Context实例的数量就是子类数量的和就是看你一个应用程序中有多少个Application(一个App应用程序中只有一个Application),有多少个Service,有多少个Activity,他们相加的和就是Context实例的数量

         接下来我们来回答一下什么是Context的问题,我总结成三个方面来回答:

1,它描述的是一个应用程序环境的信息,即上下文。
2,该类是一个抽象类(abstract class),Android提供了改抽象类的具体实现类(比如
Contextlml)
3,通过它我们可以获取应用程序的资源和类,也包括一些应用级别的操作
例如:启动一个activity,发送广播,接受intext信息,等。

二.什么时候创建Context实例

应用程序创建Context实例有如下几种情况
1,创建Applicaiton对象时,而且整个App共一个Application对象
2,创建Service时候
3,创建Activity时候
三.getAppilicationContext()和getApplication()有什么区别和限制
       两个本质上是没有区别的,但是在使用上有一定的限制
在广播中只能使用getApplicationContext()


猜你喜欢

转载自blog.csdn.net/weimo1234/article/details/76400772
今日推荐