活动背景

时间:2014-05-01 09:32:30

标签: android android-activity android-context

我有一个困扰我的问题,我似乎在Google上找不到答案。 我创建了一个小型测试应用程序,其代码类似于:

MainActivity中,我创建了一个SomeClass的实例,其中有一个方法使用context作为参数。 在这个方法中[假设它被声明为:public void doSomething(Context context)],我有一个Runnable在几秒钟后运行(我测试了5秒),它使用这个上下文得到一个{ {1}}并在其中加入一些价值。

现在,在SharedPrefs中创建此对象并调用此方法后,我完成了它,但在日志中我可以看到关闭的MainActivity的上下文是非null < / strong>,并且所有方法内容都成功运行。 我的问题是:如果我关闭一个Activity并在那之后,使用它的上下文来做一些事情,为什么它不适合某种Activity或者我是否以错误的方式测试它?

1 个答案:

答案 0 :(得分:1)

你杀了活动而不是应用程序,所以它拿起应用程序上下文。因此它不是null。

类似的例子

广播实际上可以访问上下文,但广播不是活动。这是因为它具有应用程序提供的上下文。

<强>更新

对于您在第一条评论中的最后一个问题,这里有一个答案: 系统缓存的应用程序很少,这可以在 设置&gt;中看到。应用程序&gt;缓存过程(冰淇淋三明治)。 正如在某个时候所说的,它可能被缓存,因此即使在查杀之后,唯一的活动可能实际上不会杀死应用程序上下文。

我希望它可以帮到你。