我有一个困扰我的问题,我似乎在谷歌上找不到答案。我用一段代码创建了一个小型测试应用程序,其功能如下:
在MainActivity中,我创建了一个SomeClass实例,其中有一个使用context作为参数的方法。在这个方法中,我们可以这样声明它:public void doSomething(Context context),我有一个在几秒钟后运行的Runnable (我用了5秒进行了测试),它使用这个上下文获取一个SharedPrefs并在其中添加一些值。
现在,在MainActivity中创建这个对象并调用该方法之后,我完成了它,但是在日志中,我可以看到关闭的Activity的上下文是not null,所有这些方法内容都成功运行。我的问题是:如果我关闭了一个Activity,然后使用它的上下文来做一些事情,为什么它不与某种Exception适得其反,或者我用错误的方式测试它呢?
发布于 2014-05-01 09:46:19
您杀死了活动,而不是应用程序,因此它选择了应用程序context.And,因此它不是空的。
类似的例子
广播实际上可以访问上下文,但广播不是activity.This,因为它拥有应用程序提供的上下文。
更新
对于第一个注释中的最后一个问题,这里有一个答案:很少有应用程序被系统缓存,这可以在设置>应用程序>缓存的进程(冰激凌三明治)中看到。
希望它能帮到你。
https://stackoverflow.com/questions/23405182
复制相似问题