2010-07-19 47 views
4

我对Context类的概念感到困惑。我发现它是基类Activity,但Android文档还提到了上下文存储有关应用程序环境的全局信息。所以在我的应用程序中有3个活动,这是否意味着我有3个不同的上下文对象,或者他们实际上是指1个实体?Android:应用程序是否只有一个上下文对象

另外,一个Context对象的生命周期是什么?直到这个活动过程的最后一个组件被垃圾收集为止,它会一直存在吗?

回答

3

createPackageContext上下文文档给出一个线索是怎么回事:

这种方法每次调用返回一个上下文对象的新实例;上下文对象不共享,但它们共享公共状态(Resources,ClassLoader等),因此Context实例本身相当轻量级。

由于活动实例经常被创建/销毁,并且Activity是一个上下文,所以这是有道理的。 Context实例仅仅是应用程序状态的各种位的传递,它们本身是长寿命的,但实例本身不是。

相关问题